【发布时间】:2016-10-19 01:39:12
【问题描述】:
我是 Xpath 的新手。我面临一个问题,我必须从 Xpath 获得布尔响应,如果一个元素不包含任何文本,那么它应该返回 false,否则返回 true。我看过很多例子,我没有太多时间学习 Xpath 表达式。下面是 XML 文件。
<?xml version="1.0" encoding="UTF-8" ?>
<order id="1234" date="05/06/2013">
<customer first_name="James" last_name="Rorrison">
<email>j.rorri@me.com</email>
<phoneNumber>+44 1234 1234</phoneNumber>
</customer>
<content>
<order_line item="H2G2" quantity="1">
<unit_price>23.5</unit_price>
</order_line>
<order_line item="Harry Potter" quantity="2">
<unit_price></unit_price>//**I want false here**
</order_line>
</content>
<credit_card number="1357" expiry_date="10/13" control_number="234" type="Visa" />
</order>
您能否指出正确的方向来为这个问题创建 xpath 表达式。
我想要的是如下表达式(虚拟表达式)。
/order/content/order_line/unit_price[此时我想进行验证,该验证将根据 isNull 或 notNull 的某些检查返回 true 或 false]。
【问题讨论】:
-
credit_card 节点也不包含文本 - 您是否希望这也返回 false?
-
我没有注意到这一点。但我可以给你一个我想要的样本。让我编辑问题。