0

我正在尝试使用 php 检索 RSS 提要。xml 有许多不同的节点。我不确定如何显示<dc:>,<rdf:>,<syn:>节点。

喂养

<item>xxx</item>
....
....
<dc:name>John</dc:name>    //I am not sure how to get this content
<dc:title>Manager</dc:title>
<syn:updateTime>1970-01-01</syn:updateTime>
<rdf:Seq>
   <rdf:li rdf:resource="http://xxx/>
   <rdf:li rdf:resource="http://xxx/>
</rdf:Seq>

php

$contents= file_get_contents($url);

$results=new SimpleXMLElement($contents);

    //not sure what I can do to display those special nodes...
    foreach ($results->channel as $node):

        echo $node->item; //only show item content  

    endforeach;
4

2 回答 2

2

尝试这个:

$xmlStr= simplexml_load_string($contents);

然后您可以使用 print_r 转储对象$xmlStr

echo print_r($xmlStr)

或在浏览器中

echo "<pre>".print_r($xmlStr)."</pre>";

这样,您可以检查对象,如果那是您正在尝试做的事情。要访问单个值/节点:

echo $xmlStr->node

这应该返回节点的内容。

不知道如果你这样做会发生什么,但你也可以尝试以下,但这取决于$xmlStr也许...的内容:

foreach($xmlStr as $key => $value) {
    print "$key => $value\n";
}
于 2012-07-04T02:21:28.177 回答
1

如果它是符合标准的 RSS 提要,为什么不使用simplepie或类似的东西呢?一个专用的解析器几乎总是比滚动你自己的更好:)

于 2012-07-04T02:56:33.013 回答