2012-10-20 134 views
12

您好,我正在使用ajax显示可用课程的网站,我遇到了一个问题,我正在阅读xml(具有课程详细信息)获取节点值(课程名称)与我的输入相比较在课程名称中)如果相等,我显示文本(课程描述)。 现在我跟踪它得到纠正课程名称(xml文件),但它同时比较输入课程名称其不是在所有比较so.at一点我加载XML文件并呼应它:将xml DOMDocument转换为字符串

$doc->load('data/ICT.xml'); 
echo"$doc"; 

它给了我一个错误

Catchable fatal error: Object of class DOMDocument could not be converted to string in /home/students/....../www/htdocs/client/unit_details.php on line 23

所以我从这个理解是,XML DOM对象应该被转换成字符串,这样我就可以得到所需的数据,并使用它,是真的吗?如果是的话,可以有人告诉我如何这样做请(像任何功能等)预先感谢:-)

+1

['DOMDocument'](http://us3.php.net/manual/en/class.domdocument.php)实现了DOM API - 经由之类的接入节点' getElementById(),getElementsByClassName()'等,并使用'saveXML()'写出一个字符串。 –

回答

17

DOMDocument对象不能用作字符串。

这里是你将如何显示DOMDocument对象作为XML字符串:

echo $doc->saveXML(); 
-3

您可以使用Type铸造

$doc->load('data/ICT.xml'); 
$doc2=(string)$doc; 
echo $doc2; 

或者您可以使用PHP函数

strval(); 

该函数返回的字符串值传递给它的参数。

+1

你应该在回答之前更好地阅读这个问题:*“可捕获致命错误:类DOMDocument的对象无法转换为/home/students/....../www/htdocs/client/unit_details.php中的字符串第23行“* – hakre

3

尝试这种情况:

$xml = $doc->saveXML($doc->documentElement);