我试图用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');


我该如何存档?

最佳答案

您不需要数组来检查匹配数。只需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

09-30 14:55
查看更多