繁体   English   中英

使用php读取简单的xml

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM