[英]Reading a simple xml using php
<key><name>testing name</name><result>success</result></key>
我的PHP代码:
$doc = new DOMDocument();
$doc->load( 'key.xml' );
$result = $doc->getElementsByTagName( "result" );
echo $result->item(0)->nodeValue;
我只需要提取“结果”的文本值,但不会将其输出给我。 请问你能帮帮我吗?
根据您的评论,这不起作用:
$url = "http://site.com/?action=getkey";
$data = file_get_contents($url);
$doc->load( $data );
您正在从远程URI中获取内容,并将其提供给函数以加载文件。 DOMDocument::load
从文件加载,而DOMDocument::loadXML()
从字符串加载。
要么做
$doc->load( 'http://site.com/?action=getkey' );
要么
$doc->loadXml( file_get_contents('http://site.com/?action=getkey') );
在旁注:
您似乎已禁用error_reporting 。 如果尝试使用DOMDocument::load
XML字符串,则应该收到PHP警告。 另外尝试执行$result->item(0)
应该会导致PHP通知。 您应该始终在开发机器上设置error_reporting(-1)
,以接收所有错误,通知和警告。 还要确保您的PHP.ini的display_errors和display_startup_errors设置为true。 您只希望在生产计算机上禁用这些功能。
我认为您在这里使用常规变量作为对象。 代替
echo $ result-> item(0)-> nodeValue;
为什么不使用
echo $ doc-> item(0)-> nodeValue;
因为$ doc是实例化的对象?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.