我得到了這個 XML:<iet:aw-data> <iet:metadata filter=""/> <iet:message-resource> <iet:message>??????? ????? ????? ????????</iet:message> <iet:customer id="1"/> <iet:code>edi.claimfilingindicator.11</iet:code> <iet:locale>iw_IL</iet:locale> </iet:message-resource> <iet:message-resource> <iet:message>??? ????? ?????? (PPO)</iet:message> <iet:customer id="1"/> <iet:code>edi.claimfilingindicator.12</iet:code> <iet:locale>iw_IL</iet:locale> </iet:message-resource> . . .</iet:aw-data>我想建立一個表達式來獲取所有節點與code和message它包含了他們中的每一個給定的參數。到目前為止,我所做的是這樣的表達:String exp = "//*[local-name()='message-resource']//*[local-name()='code'][contains(text(), 'edi')]"現在我想將該message字段作為另一個條件添加到這個表達式中,我需要這方面的幫助。
2 回答

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
您可以使用子路徑作為謂詞。假設您要選擇包含“某些消息子字符串”code
的消息資源message
:
//*[local-name()='message-resource' and ./*[local-name()='message' and contains(text(), 'some message substring')]]//*[local-name()='code'][contains(text(), 'edi')]

繁星點點滴滴
TA貢獻1803條經驗 獲得超3個贊
我的版本
//*[local-name()='message-resource']/*[local-name()='code' and contains(text(), 'edi')]/../*[local-name()='message' and contains(text(), 'PPO')]/..
只需將“PPO”替換為您在消息中搜索的內容。
添加回答
舉報
0/150
提交
取消