使用PHP在XML中选择具有相同名称的节点 - 困惑

时间:2011-09-05 00:09:44

标签: php xml simplexml

我有以下xml

<md f="a">
<![CDATA[ MR Adam Smith ]]>
</md>
<md f="b">
<![CDATA[ Smith, Adam ]]>
</md>

我不确定使用PHP如何使用simplexml回显不同的md节点? 所以我下面的当前代码只能带来md节点的第一个值 - 但是如何获得md的其他值呢?我查看了命名空间 - 但这些似乎有所不同。

$xml = simplexml_load_file($feedURL);
foreach($xml->results->result as $usern)
{
    echo $usern->score . '<br>';
    echo $usern->md. '<br>';
}

1 个答案:

答案 0 :(得分:0)

我以前遇到过这个问题。您需要更改创建SimpleXML对象的方式:

$xml = simplexml_load_file($feedURL, 'SimpleXMLElement', LIBXML_NOCDATA);

LIBXML_NOCDATA将确保您可以从CDATA文本中获取值。

mario's文档的评论(特别是simplexml_load_file())中提到了这一点。