在PHP中使用SimpleXML
,我只想获取<lj:reply-count>
节点值。
XML:
<lj:security>public</lj:security>
<lj:posterid>631636</lj:posterid>
<lj:reply-count>42</lj:reply-count>
这样排序,但显然不是这样,因为它会抛出php解析错误
if($item->lj:reply-count)
$replyCount = $item->lj:reply-count
我尝试了其他一些变体和谷歌,但似乎无法找到我正在寻找的东西。感谢。
答案 0 :(得分:1)
由于您的xml具有名称空间,因此您必须使用->children()
方法。例如:
$xml_string = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:lj="http://www.example.com/">
<lj:security>public</lj:security>
<lj:posterid>631636</lj:posterid>
<lj:reply-count>42</lj:reply-count>
</root>
XML;
$xml = simplexml_load_string($xml_string);
$lj = $xml->children('lj', 'http://www.example.com/');
$reply_count = (string) $lj->{'reply-count'};
echo $reply_count; // 42
答案 1 :(得分:0)
这应该有效:
if($item->{"lj:reply-count"})
$replyCount = $item->{"lj:reply-count"}