我必须将自动生成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
),但没有任何工作能够胜任。
答案 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()
返回。