simplexml仅解析xml版本

时间:2016-02-09 15:58:18

标签: php xml parsing simplexml

我必须将自动生成XML文件解析为PHP,但没有成功。

我正在获取包含XML文件的文件夹,并且每个文件都必须被解析。奇怪的是,我只将版本作为输出。

我的代码:

$xml_folder = "/var/www/sitename/xml_folder/";
$xml_files  = scandir($xml_folder);
$xml_files  = array_diff($xml_files, array('.', '..'));

foreach($xml_files as $file) {
    $xml_file = $xml_folder . $file;
    $xml = simplexml_load_file($xmlfile);
    print_r($xml);
}

现在,我的输出如下:

XML看起来像普通生成的XML,下面是它的截图预览:

当然,它没有结构化,但任何浏览器都可以处理它并创建一个有效的结构。

结构对simplexml重要吗? 我尝试了一些变体来使其工作(即使使用simplexml_load_string),但没有任何工作能够胜任。

1 个答案:

答案 0 :(得分:1)

你永远不应该将print_r用于XML,它对xml不起作用 相反,您可以使用它来显示xml结构

echo $xml->asXML();

检查答案:SimpleXML and print_r() - why is this empty?

  

不要使用print_r()或var_dump()来检查SimpleXMLElement,他们   因为SimpleXML使用了很多魔法,所以不一定会对它们起作用   在幕后。相反,看看是什么   asXML()返回。