检查是否存在节点并检查其属性值

时间:2018-11-07 19:53:05

标签: php xpath attributes nodes simplexml

我有一个带有节点和属性的xml文件

<hotspot name="hs1"/>
<hotspot name="hs2"/>
<hotspot name="hs3"/>

我想检查nodc热点是否存在以及特定的属性值是否存在。 我正在尝试此操作,但id无效...

<?php
$file = 'hotspots.xml';
$xml = simplexml_load_file($file);
$var = $xml->xpath("//hotspot[@name='hs2']");
if (isset($var)) { echo 'does exist' } else {echo 'does not exist'}
?>

好吧,它根本不起作用(错误500) 很抱歉成为这样的新手,不胜感激!谢谢 !

1 个答案:

答案 0 :(得分:0)

您的echo语句应以self.navigationController?.popToRootViewControllerAnimated(true)

结尾
;

除此之外,$file = 'hotspots.xml'; $xml = simplexml_load_file($file); $var = $xml->xpath("//hotspot[@name='hs2']"); if (isset($var)) { echo 'does exist'; } else { echo 'does not exist'; } 的返回类型是一个数组,当xpath表达式找不到结果时,它将返回一个空数组。

当它返回一个空数组时,$xml->xpath将为真,并且将为您提供isset($var),这是不正确的。

一种选择是使用count检查数组是否包含0个以上项目:

does exist