我想检查一个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');
Run Code Online (Sandbox Code Playgroud)
看来您的parantheses和括号在XPath表达式的末尾没有正确关闭 - 它应该结束])
.
此外,汉堡酒店是什么?如果它是一个名为的属性value
,则您的值检查应如下所示:
[@value="Hotel Hafen Hamburg"]
Run Code Online (Sandbox Code Playgroud)
你不能只写@
一个值,而不能指定一个值,而不指定该值应该在哪里.
编辑:看看Xml文档,似乎Hotel Hafen Hamburg应该是<name>
元素的文本内容.因此,尝试查找具有该值而不是属性的文本节点:
boolean(//result/name[text() = "Hotel Hafen Hamburg"])
Run Code Online (Sandbox Code Playgroud)