gpt4 book ai didi

xml - 在 XPath 中选择相反的条件?

转载 作者:行者123 更新时间:2023-12-04 15:07:05 24 4
gpt4 key购买 nike

我有以下 XML

<Root>
<Element>
<batch_id>Jan_22_2021_18</batch_id>
<proposal_id>130994</proposal_id>
<proposal_name>Brazil </proposal_name>
<subregion>1234</subregion>
<currency>BRL</currency>
</Element>
<Element>
<batch_id>Jan_22_2021_18</batch_id>
<proposal_id>130994</proposal_id>
<proposal_name>Brazil </proposal_name>
<subregion>7225</subregion>
<currency>BRL</currency>
</Element>
<Element>
<batch_id>Jan_22_2021_18</batch_id>
<proposal_id>130994</proposal_id>
<proposal_name>Brazil </proposal_name>
<subregion>1111</subregion>
<currency>BRL</currency>
</Element>
</Root>

在 XPath 之下

  1. 工作:

    /Root/Element[(subregion ='7515') or (subregion ='7225') or (subregion ='1234') or (subregion ='8360') or (subregion ='8385') or (subregion ='8435') or (subregion ='8585')]
  2. 不工作

    /Root/Element[(subregion !='7515') or (subregion !='7225') or (subregion !='1234') or (subregion !='8360') or (subregion !='8385') or (subregion !='8435') or (subregion !='8585')]

你能解释一下为什么吗?

最佳答案

你有一个逻辑错误。

A 或 B 的反义词是not not(A) or not(B);它是 not(A or B),或者相当于 De Morgan , not(A) and not(B).

因此,如果您想要其他 Elements – 那些未被您的“工作”XPath 选择的元素 – 对整个析取应用逻辑 not()

/Root/Element[not((subregion ='7515') 
or (subregion ='7225')
or (subregion ='1234')
or (subregion ='8360')
or (subregion ='8385')
or (subregion ='8435')
or (subregion ='8585'))]

或者对应连词的个别条件:

/Root/Element[    not(subregion ='7515') 
and not(subregion ='7225')
and not(subregion ='1234')
and not(subregion ='8360')
and not(subregion ='8385')
and not(subregion ='8435')
and not(subregion ='8585')]

关于xml - 在 XPath 中选择相反的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65908736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com