SimpleXmlElement计数

时间:2014-08-04 14:49:20

标签: php xml

我正在计算SimpleXmlElement中儿童的数量。我在StackOverflow上搜索过,但似乎找不到任何东西;

$xml = simplexml_load_string($xml);

foreach($xml as $key => $field) {
    if (count($field) == 0){
        $field[0][0] = 'test';
    }
}

我的一些XmlElement是空的。然而count对所有元素都给出了0。我发现做我想做的唯一方法是:

if ($field[0][0] == '')

我已经尝试使用http://php.net/manual/en/simplexmlelement.count.php上指定的$ field-> count(),但无论$ field中是什么,它总是返回0.

有没有更好的方法来做到这一点?

以下是xml到print_r的格式:

SimpleXMLElement Object
(
    [firstName] => Test
    [lastName] => Test2
    [middleName] => SimpleXMLElement Object
        (
        )
)

1 个答案:

答案 0 :(得分:2)

你可以像这样使用count()函数:

$elem = new SimpleXMLElement($xml);
$elem->count();

http://php.net/manual/en/simplexmlelement.count.php供参考。