简单xml 解析xml 唯一版本

simplexml parse xml only version

我必须将自动生成的 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),但没有任何效果。

您不应该将 print_r 用于 XML,它不适用于 xml。
相反,您可以使用它来显示 xml 结构

echo $xml->asXML();

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

Don't use print_r() or var_dump() to inspect a SimpleXMLElement, they won't necessarily work on them because SimpleXML uses lots of magic behind the scene. Instead, look at what asXML() returns.