【发布时间】:2016-05-19 16:46:50
【问题描述】:
我必须将自动生成的 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),但没有什么是行不通的。
【问题讨论】:
-
我猜它工作正常。试试这个:
echo htmlentities( print_r( $xml, 1 ) );。您的浏览器只是不显示 XML 标记。尝试在您的页面上查看源代码,您会看到所有内容(我希望如此)。 -
只是猜测,但您的问题可能不是 XML,而是使用
print_r函数。我看不出有任何理由期望 print_r 输出实际的 XML。 -
嗯,看起来不像是因为
print_r()。使用echo htmlentities(print_r($xml,1));,它的输出与屏幕截图中的相同。