我有this格式错误的XML文件,其中包含一些我需要的内容。但我似乎无法在PHP中获取SimpleXMLElement对象来做到这一点。此XML文件中的语法假设与this one类似,格式正确。
我不断收到Notice: Trying to get property of non-object
等错误。
我感兴趣的XML是第一个项目的标题和链接。
提前谢谢!
编辑:我尝试过使用html_entity_decode,但它没有设法解决问题。但我相信最终的解决方案需要这个功能。答案 0 :(得分:1)
如果没有看到您的代码,现在就可以说出错误了。无论如何,你指出的XML是有效的,这是一个检索第一个项目节点标题并与XML from the URL your provided链接的工作示例。
为了减少这里的粘贴大小,我稍微格式化了XML并且只保留了2个项目节点。请参阅http://codepad.viper-7.com/3UPARI中的完整工作示例。
<?php
$xml = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<title>Latest CraftBukkit artifacts for Recommended Build</title>
<link>http://dl.bukkit.org/downloads/craftbukkit/list/rb/</link>
<description>The latest "CraftBukkit" artifacts for Recommended Build</description>
<atom:link href="http://dl.bukkit.org/downloads/craftbukkit/feeds/latest-rb.rss" rel="self" />
<language>en-us</language>
<lastBuildDate>Thu, 31 Jan 2013 04:37:54 +0000</lastBuildDate>
<item>
<title>Recommended Build for CraftBukkit: 1.4.7-R1.0 (build 2624)</title>
<link>http://dl.bukkit.org/downloads/craftbukkit/view/01845_1.4.7-R1.0/</link>
<description><p>This new version is 12.0 MB big.</p></description>
<pubDate>Thu, 31 Jan 2013 04:37:54 +0000</pubDate>
<guid>http://dl.bukkit.org/downloads/craftbukkit/view/01845_1.4.7-R1.0/</guid>
</item>
<item>
<title>Recommended Build for CraftBukkit: 1.4.5-R1.0 (build 2543)</title>
<link>http://dl.bukkit.org/downloads/craftbukkit/view/01707_1.4.5-R1.0/</link>
<description><p>This new version is 11.9 MB big.</p></description>
<pubDate>Wed, 19 Dec 2012 11:14:13 +0000</pubDate>
<guid>http://dl.bukkit.org/downloads/craftbukkit/view/01707_1.4.5-R1.0/</guid>
</item>
</channel>
</rss>
XML;
$sxe = new SimpleXMLElement($xml);
echo "Title: {$sxe->channel->item[0]->title}\n";
echo "Link: {$sxe->channel->item[0]->link}\n";
Title: Recommended Build for CraftBukkit: 1.4.7-R1.0 (build 2624)
Link: http://dl.bukkit.org/downloads/craftbukkit/view/01845_1.4.7-R1.0/