如何使用分组条件从XML中获取值?
我想通过一些条件从XML中获取属性值。我不知道这组值在XPATH条件下是如何检查的 以下是我的XML格式:如何使用分组条件从XML中获取值?,xml,xpath,Xml,Xpath,我想通过一些条件从XML中获取属性值。我不知道这组值在XPATH条件下是如何检查的 以下是我的XML格式: <TTIDCData> <CYAccountHide HideTable="False"> <fldAccountType Value="55" HideField="False" PrintValue="55" Description=""/> <fldActNumber Value="502100" HideFie
<TTIDCData>
<CYAccountHide HideTable="False">
<fldAccountType Value="55" HideField="False" PrintValue="55" Description=""/>
<fldActNumber Value="502100" HideField="False" PrintValue="502100"/>
</CYAccountHide>
<CYAccountHide HideTable="False">
<fldAccountType Value="55" HideField="False" PrintValue="55" Description=""/>
<fldActNumber Value="502200" HideField="False" PrintValue="502200"/>
</CYAccountHide>
<CYAccountHide HideTable="False">
<fldAccountType Value="55" HideField="False" PrintValue="55" Description=""/>
<fldActNumber Value="502200" HideField="False" PrintValue="502200"/>
</CYAccountHide>
<CYAccountHide HideTable="False">
<fldAccountType Value="55" HideField="False" PrintValue="55" Description=""/>
<fldActNumber Value="502222" HideField="False" PrintValue="502200"/>
</CYAccountHide>
<person name="blair" address="502100"/>
<person name="blair" address="502200"/>
<person name="blair" address="502205"/>
<person name="blair" address="502200"/>
</TTIDCData>
我想知道哪个值不匹配。条件是//CYAccountHide/fldActNumber/@Value!=//个人/地址
但这种情况不起作用
基本上,在我的XML中,我有一个值用于//CYAccountHide/fldActNumber/@value
这个属性是5021000200200201
,而//person/@address
属性的值是5021000200
。我想在xpath的帮助下对值进行评估,该值仅为502201
如果只验证一个值,则//CYAccountHide/fldActNumber/@value!='502100'此条件有效,但我希望使用该XML标记验证值组。我想我已经理解了您现在需要的内容。使用以下XPath表达式
//CYAccountHide/fldActNumber/@Value[not(. = //person/@address)]
也就是说
//CYAccountHide/fldActNumber/@Value Select all attributes named "Value" of
elements "fldActNumber" that themselves are
children of "CYAccountHide" elements.
[not(. = //person/@address)] but only return them if there is no "person"
element anywhere in the document that has an
"address" attribute with the same value as
the "Value" attribute.
结果将是
Value="502201"
你的问题不清楚。什么是“XPATH条件中的值组检查”?显示您的预期结果(XPath表达式应该返回什么)会有所帮助。我的问题是如何通过与CYAccountHide/fldActNumber/@value这个路径和person/@address进行比较来获得不同的值。。两个路径都返回一些值,但我需要不同的(不等于)值。“显示预期结果(XPath表达式应返回的内容)会有所帮助”。502201通过XPath返回值…感谢您的澄清,请查看我的答案,并让我知道这是否是您需要的。