我之前已经使用 PHP 和 simplexml 来使用标准元素解析 RSS,<title> <pubDate>
但是我将如何解析一些自定义到 feed<xCal:location>
或者<xCal:dtstart>
使用 xCal 数据元素的东西?
类似的东西$item->xCal:dtstart
会出错。我将如何收集此数据元素?
像这样的提要示例: http ://www.trumba.com/calendars/vd.rss?mixin=236393%2c236288
我之前已经使用 PHP 和 simplexml 来使用标准元素解析 RSS,<title> <pubDate>
但是我将如何解析一些自定义到 feed<xCal:location>
或者<xCal:dtstart>
使用 xCal 数据元素的东西?
类似的东西$item->xCal:dtstart
会出错。我将如何收集此数据元素?
像这样的提要示例: http ://www.trumba.com/calendars/vd.rss?mixin=236393%2c236288
试试这样:
$feedUrl = 'http://www.trumba.com/calendars/vd.rss?mixin=236393%2c236288';
$rawFeed = file_get_contents($feedUrl);
$xml = new SimpleXmlElement($rawFeed);
$ns = $xml->getNamespaces(true);
//print_r($ns);
$xCal = $xml->channel->children($ns['xCal']);
echo ($xCal->version)."<br />";
foreach($xml->channel->item as $item)
{
//print_r($item);
$itemxTrumba=$item->children($ns['x-trumba']);
echo $itemxTrumba->masterid."<br />";
}
//print_r($xCal);
“自定义的东西”是一个 XML 命名空间。搜索有关 SimpleXML 和命名空间的现有答案。
基本上,您需要的是->children()
方法:$item->children('xCal', true)->dtStart