Xml xpath选择第一个子项并检查值
我想使用xpath进行单元测试,我想做的是:Xml xpath选择第一个子项并检查值,xml,xpath,Xml,Xpath,我想使用xpath进行单元测试,我想做的是: <?xml version="1.0"?> <api_data> <message>OK</message> <status>200</status> <data> <name>John</name> <email>john@gmail.com</email>
<?xml version="1.0"?>
<api_data>
<message>OK</message>
<status>200</status>
<data>
<name>John</name>
<email>john@gmail.com</email>
</data>
</api_data>
xpath查询:/api_data[message=“OK”]
而且这仍然匹配。。但我不想那样。。所以我希望它更严格。。但是怎么做呢
我不想与值子级匹配,因此只需在不使用
的情况下进行匹配即可,因为您需要这样做/*[“确定”]
根据定义,XPath中元素的字符串值是其所有后代文本节点的串联,即直接包含在元素中的所有文本,或其子元素、孙子节点等 因此,您需要检查
消息的字符串值是否为“OK”,以及消息是否没有任何子元素:
/api_data/message[.="OK"][not(*)]
/api\u data[message/value=“OK”]
?我不希望与值子级匹配,因此仅匹配而不匹配
这仍然不匹配,请参阅解决方案
xpath query: /api_data/message/*["OK"]
/api_data/message[.="OK"][not(*)]