xpath - 检查元素是否多次出现

时间:2017-09-26 12:29:53

标签: php xml xpath

我试图用xpath检查一个元素是否多次出现。

XML:

<XML>
    <containers>
        <container id="1">
        </container>
        <container id="2">
        </container>
    </containers>
</XML>

我尝试使用以下简单的xpath表达式

$xml->xpath('/XML/containers/container');

我得到了:

Element='<container id="1">
        </container>'
Element='<container id="2">
        </container>'

但结果我想要类似于

的数组
$containers = array('container', 'container');

我如何存档?

1 个答案:

答案 0 :(得分:2)

您不需要数组来检查匹配数量。只需count() XPath的结果,即可获得您的号码:

$a = '<XML>
<containers>
    <container id="1">
    </container>
    <container id="2">
    </container>
</containers>
</XML>';
$xml = simplexml_load_string($a);
$containers = $xml->xpath('/XML/containers/container');
$totalContainers = count($containers); // 2

Demo