3

我之前已经使用 PHP 和 simplexml 来使用标准元素解析 RSS,<title> <pubDate>但是我将如何解析一些自定义到 feed<xCal:location>或者<xCal:dtstart>使用 xCal 数据元素的东西?

类似的东西$item->xCal:dtstart 会出错。我将如何收集此数据元素?

像这样的提要示例: http ://www.trumba.com/calendars/vd.rss?mixin=236393%2c236288

4

2 回答 2

3

试试这样:

$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);
于 2012-10-17T04:55:52.533 回答
0

“自定义的东西”是一个 XML 命名空间。搜索有关 SimpleXML 和命名空间的现有答案。

基本上,您需要的是->children()方法:$item->children('xCal', true)->dtStart

于 2012-10-17T17:02:18.727 回答