<?xml version="1.0" encoding="ISO-8859-1" ?>
<pages>
<page>
<title>Home</title>
<content>Lorem Ipsum</content>
</page>
<page>
<title>Pictures</title>
<content>Lorem Ipsum</content>
</page>
<page>
<title>Information</title>
<content>Lorem Ipsum</content>
</page>
</pages>
我的XML
$url = "xml->build.xml";
$xml = simplexml_load_file($url);
$i = 1;
foreach($xml->page as $page) {
echo "<strong>Page ".$i.":</strong> ".$page->title."<br/>";
$i++;
}
我的PHP
我得到了:
警告:simplexml_load_file():I / O警告:无法加载外部实体“xml-&gt; build.xml”
只是从那个简单的脚本!有任何想法吗? :)
更新,这是确切的XML文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<pages>
<page>
<title>Home</title>
<content>Lorem Ipsum</content>
</page>
<page>
<title>Pictures</title>
<content>Lorem Ipsum</content>
</page>
<page>
<title>Information</title>
<content>Lorem Ipsum</content>
</page>
</pages>
<css>
<css-tag>
<title>background-color</title>
<value>#FFF</value>
</css-tag>
</css>
<layout>1</layout>
答案 0 :(得分:1)
发生这种情况是因为您正在尝试读取不存在的文件。如果您的文件名为build.xml
并且存储在与PHP脚本相同的目录中,请替换:
$url = "xml->build.xml";
使用:
$url = dirname(__FILE__) . "/build.xml";
答案 1 :(得分:0)
我不确定为什么会出现这样的错误,但这可能有助于您解决此问题
我认为xml->build.xml
不是有效名称,您也可以将其更改为build.xml
试
$url = "build.xml";
if(!is_file($url))
die("File Does not exist");
if(!is_readable($url))
die("File is not readeable");
$xml = simplexml_load_string(file_get_contents($url));
var_dump($xml);
$xml = simplexml_load_file($url);
var_dump($xml);
如果simplexml_load_string
肯定有效,simplexml_load_file
也会起作用
更新
你的XML错误,格式应该是这样的
$url = '<?xml version="1.0" encoding="ISO-8859-1" ?>
<doc>
<pages>
<page>
<title>Home</title>
<content>Lorem Ipsum</content>
</page>
<page>
<title>Pictures</title>
<content>Lorem Ipsum</content>
</page>
<page>
<title>Information</title>
<content>Lorem Ipsum</content>
</page>
</pages>
<css>
<css-tag>
<title>background-color</title>
<value>#FFF</value>
</css-tag>
</css><layout>1</layout>
</doc>';