在PHP中使用SimpleXML
,我想只抓取<lj:reply-count>
节点值。
<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
我尝试了一些其他的变化和谷歌周围,但似乎找不到我要找的东西。谢谢。
由于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
应该可以:
if($item->{"lj:reply-count"})
$replyCount = $item->{"lj:reply-count"}