我试图在PHP中使用simplexml_load_string
加载DOM,但程序总是在调用的地方终止(在调用执行后没有任何内容)。我已经使用。
$source = file_get_contents("/path/to/file.xml");
现在,调用echo $source;
会在浏览器中返回xml文件的完整输出。这是我在浏览器中获得的来源:
<xml>
<title>Title</title>
<date>4 April 2015</date>
<content>
//...HTML content...//
</content>
</xml>
然而,当程序调用时
$xml = simplexml_load_string($source);
程序终止,该语句之后的任何内容都不会运行。我已经通过文档搜索了几个小时,似乎找不到这样的东西。在尝试使用此方法构建DOM之前,我尝试使用具有相同结果的simplexml_load_file
有没有人见过这样的东西?
答案 0 :(得分:0)
您的XML字符串不是有效的XML。您不能拥有名为“xml”的元素名称或名称以“xml”开头的元素。尝试重命名根元素,即使用<root>
而不是<xml>
答案 1 :(得分:0)
万一这有帮助,我只是想重现你的问题,但它对我来说很好。
XML:
<?xml version='1.0'?>
<xml>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that's the answer -- but what's the question?
</body>
</xml>
PHP:
<?php
$source = file_get_contents("./file2.xml");
echo $source;
echo "after source \n";
$xml = simplexml_load_string($source);
print_r($xml);
echo "after xml";
?>
输出:
Joe Jane我知道答案 - 但问题是什么?后 source SimpleXMLElement Object([title] =&gt;四十什么?[来自] =&gt; Joe [to] =&gt;简[body] =&gt;我知道答案 - 但是那是什么 题? )xml之后