我正在尝试将xml feed打印到我的php页面中,但是这段代码运行不正常,我不明白为什么。它只显示从xpath到浏览器的浏览器代码?> 。请有人帮我这个吗
<html>
<head>
<title>XML FEED</title>
</head>
<body>
<ul>
<?php
$dom = simplexml_load_file("http://feeds.bbci.co.uk/news/rss.xml");
foreach ($dom->xpath("/channel/item") as $item)
{
print "<li>";
print $item->title;
print "</li>";
}
?>
</ul>
</body>
</html>
答案 0 :(得分:0)
我怀疑您的服务器未配置为允许短PHP标记(无论如何不鼓励),所以请始终使用完整的开始标记。
由于PHP没有解析你的代码,所以浏览会发送以下内容......
<? . . . . . foreach ($dom->
哪个是无效的HTML,因此不会显示,但如果您查看页面的来源,您将看到更多的PHP代码。
简单地使用<?php
启动代码将触发PHP解析,事情应该有效。
答案 1 :(得分:0)
考虑使用双正斜杠调整XPath,因为 channel 不是根元素:
foreach ($dom->xpath("//channel/item") as $item) {
...
}
或者,使用表达式中的root rss 元素:
foreach ($dom->xpath("/rss/channel/item") as $item) {
...
}