我有以下示例XML结构:
yes no no yes
我需要做的是使用XPATH过滤'SavingAccount'节点,其中'ServiceOnline'的值为'yes'或'ServiceViaPhone'的值为yes.
XPATH应该给我两行!! 我可以过滤'SavingAccount'节点,其中两个元素值都是,如下面的XPATH示例,但我想要做的是一个或元素值比较???
/SavingAccounts/SavingAccount/ServiceOnline[text()='yes']/../ServiceViaPhone[text()='yes']/..
Dimitre Nova.. 54
这是一个非常基本的XPath功能:撰写一些条件与逻辑运算符and
,or
和函数not()
.
and
具有更高的优先级比or
和运营商都具有比低优先级的关系和平等运算符(=
,!=
,>
,>=
,<
和<=
).
所以,写它是安全的:A = B and C = D
一些最常见的错误:
人们写AND
和/或OR
.请记住,XPath区分大小写.
人们使用|
(union)运算符代替or
最后,这是我的解决方案:
/SavingAccounts/SavingAccount [ServiceOnLine='yes' or ServiceViaPhone='yes']
这是一个非常基本的XPath功能:撰写一些条件与逻辑运算符and
,or
和函数not()
.
and
具有更高的优先级比or
和运营商都具有比低优先级的关系和平等运算符(=
,!=
,>
,>=
,<
和<=
).
所以,写它是安全的:A = B and C = D
一些最常见的错误:
人们写AND
和/或OR
.请记住,XPath区分大小写.
人们使用|
(union)运算符代替or
最后,这是我的解决方案:
/SavingAccounts/SavingAccount [ServiceOnLine='yes' or ServiceViaPhone='yes']
/SavingAccounts/SavingAccount[(ServiceOnLine='yes') or (ServiceViaPhone='yes')]