检查节点值是否存在

时间:2013-08-04 13:39:37

标签: xpath

我想检查一个xml是否有一个值为" Hotel Hafen Hamburg"的节点。

但是我得到了错误。

  

SimpleXMLElement :: xpath():第25行上的谓词无效

您可以在此处查看xml。

http://de.sourcepod.com/dkdtrb22-19748

到目前为止,我已经编写了以下代码。

$apiUmgebungUrl = "xml.xml";
$xml_umgebung = simplexml_load_file($apiUmgebungUrl);
echo $nameexist = $xml_umgebung->xpath('boolean(//result/name[@Hotel Hafen Hamburg');

1 个答案:

答案 0 :(得分:6)

似乎您的parantheses和括号在XPath表达式的末尾没有正确关闭 - 它应该以{{1​​}}结束。

此外,什么是 Hotel Hafen Hamburg ?如果它是名为])的属性,则您的值检查应如下所示:

value

您不能只编写[@value="Hotel Hafen Hamburg"] 然后编写一个值,而不指定其中应该是该值。

编辑:看看Xml文档,似乎 Hotel Hafen Hamburg 应该是@元素的文本内容。因此,尝试查找具有该值而不是属性的文本节点:

<name>