所以我有这个:
<Presentation>
<Info attr1="red" attr2="blah"/>
<Info attr1="big" attr2="iasjd"/>
<Info attr1="funky" attr2="asf"/>
...
<Info attr1="damn" attr2"..."/>
</Presentation>
如何检查是否存在值为attr1
as的节点funky
,即?我可以通过检查代码中返回的字符串是否为空,或者使用count
Xpath 函数检查它是否返回 0 来做到这一点,但是是否有其他函数(或方法)来检查具有该特定属性的特定节点是否存在。一些更优雅的方式?
示例:我可以有这种情况:
<Presentation>
<Info attr1="red" attr2="blah"/>
<Info attr1="big" attr2="iasjd"/>
...
<Info attr1="damn" attr2"..."/>
</Presentation>
而且由于我没有具有属性值的节点funky
- 我在我的代码中做了一些其他的事情。
更新:
我在 PHP 中这样做。我需要检查这个 attr1 作为字符串的值是什么。所以首先我想检查是否有一个Info
节点,其中 attr1 值完全是“时髦的”。如果是 - 然后在 PHP 中执行一些逻辑。如果没有 - 然后做一些其他的事情(在 PHP 中)。我在 SimpleXMLElement 对象上使用函数 xpath(),所以我得到了一个数组的结果。使用 xpath() 函数,如果 XPath 表达式不起作用,则返回 boolean(false),而不是数组。但就我而言,这不是一个足够安全的检查。