簡體   English   中英

使用Groovy腳本讀取基於其他標簽的XML標簽值

[英]Read XML tag values based on other tags using Groovy Script

我是Groovy腳本的新手,在基於不同標簽獲取標簽值時需要一些幫助。 以下是我通過SOAP從應用程序收到的響應。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
  <DataResponse xmlns="http://eh.dummy.com">
     <onlinePartyData xmlns="">
        <tabs xmlns="http://eh.dummy.com">
           <tabs_InnerSet>
              <Tabs_InnerSet_TupleType>
                 <tab>
                    <DISPLAY_TEXT>DESCRIPTION 1</DISPLAY_TEXT>
                    <qsets>
                       <qsets_InnerSet>
                          <Qsets_InnerSet_TupleType>
                             <qset>
                                <SET_CD>QS1</SET_CD>
                                <VISIBLE>true</VISIBLE>
                             </qset>
                          </Qsets_InnerSet_TupleType>
                          <Qsets_InnerSet_TupleType>
                             <qset>
                                <SET_CD>QS2</SET_CD>
                                <VISIBLE>true</VISIBLE>
                             </qset>
                             <qset>
                                <SET_CD>QS3</SET_CD>
                                <VISIBLE>false</VISIBLE>
                             </qset>
                          </Qsets_InnerSet_TupleType>

                       </qsets_InnerSet>
                    </qsets>
                 </tab>
              </Tabs_InnerSet_TupleType>
           </tabs_InnerSet>
        </tabs>
     </onlinePartyData>
  </DataResponse>
</soap:Body>
</soap:Envelope>

如果VISIBLE節點為true,則需要串聯SET_CD標記值。 在此示例中,我需要將Groovy腳本的輸出作為QS1,QS2。 我該如何實現?

謝謝!!

這是查詢XML的腳本,其中VISIBLE = true並獲取SET_CD值並將其聯接。

請注意,問題中提供的xml格式不正確。 在測試時修復了該問題。

Groovy腳本

//Pass the xml string to parseText method
def parsedXml = new XmlSlurper().parseText(xml)
def result = parsedXml.'**'.findAll {it.VISIBLE == true}.SET_CD.join(',')
println result
assert result instanceof String 

如果您想快速嘗試在線演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM