在PHP中使用XML

在PHP中使用XML,php,Php,我有一个url返回XML页面结果。使用此命令时: print_r(file($url)); 完成了,但当我使用命令时: $doc = load($url); 在此之后,我: print_r($doc); 把它弄出来。它什么也没印出来。我是PHP中XML的新手,请给我一些建议! 谢谢你的关注 我不确定您想做什么,但要在PHP中解析xml文件,有两种主要方法: 将整个文件读入字符串@deceze和RageZ: 我使用load()获得它的属性,如下所示 $url = 'web address

我有一个url返回XML页面结果。使用此命令时:

print_r(file($url));
完成了,但当我使用命令时:

$doc =  load($url);
在此之后,我:

print_r($doc);
把它弄出来。它什么也没印出来。我是PHP中XML的新手,请给我一些建议!
谢谢你的关注

我不确定您想做什么,但要在PHP中解析xml文件,有两种主要方法:

将整个文件读入字符串

@deceze和RageZ: 我使用load()获得它的属性,如下所示

$url = 'web address return an XML result';
$xml = load($url);
$node1 = $xml->getElmentsByTagName('tagname');
$value = $node1->getAttribute('attribute1');
但是我有一个错误,$xml不是一个对象,我通过print\r签出,除了print\r(file($url))之外,我什么也得不到,正如我所期望的,它打印出一个数组!
@弗兰兹:可能是我在XML文件中得到了一个错误标记,但我无法修复这个错误,只能处理结果

您还可以将xml反序列化为php数组并使用print\r(数组)。请看这里:


你需要一个PEAR包来完成这个

加载()应该做什么?+1 deceze,给我们相关的代码部分…看起来好像什么都没有打印出来。据我所知,您正在使用XML做一些事情,因此我假设这些标记不会转义,因此浏览器会将其解释为无效的HTML标记。因此,不会显示任何内容。您可以通过查看页面的源代码来检查这一点……我正在使用simplexml_load_文件,并得到与您建议的RageZ相同的结果。但结果是有许多嵌套的SimpleXMLElement对象子对象。为了处理这件事,我不得不浪费很多时间,我现在很忙D@gacon:您应该使用
xpath
仅获取所需的数据。如果您有更多信息要添加,礼仪是更新您的问题。AFAIK
load()
不是PHP函数。再说一遍,它有什么作用?你确定它有用吗?
$xml = new SimpleXMLElement(file_get_contents($xmlstr));
$url = 'web address return an XML result';
$xml = load($url);
$node1 = $xml->getElmentsByTagName('tagname');
$value = $node1->getAttribute('attribute1');