簡體   English   中英

無法從groovy腳本中的xml中提取屬性

[英]not able to extract attribute from xml in groovy script

我正在嘗試使用groovy腳本自動化。 這是我的劇本。 我無法提及namspace。

 <ns2:contactPref xmlns="namespace 1" xmlns:ns2="name space 2"> <ns2:Information> <value>Pass</value> </ns2:Information> <ns2:contactPreference> <ns2:contactPointRel> <contactPoint xs:type="Tele" xmlns:xs="namespace 3"> <cat>mob</cat> <med>Int</med> </contactPoint> </ns2:contactPointRel> </ns2:contactPreference> </ns2:contactPref> 

現在我想在contactPoint標簽上獲取屬性,我已經嘗試過這樣

groovyUtils=new com.eviware.soapui.support.Groovyutills(context)
def xPath=XPathFactory.newInstance().newXPath()
def type=context.expand('${GetResponse#Response#//*:contactPoint/@xs:type}')
log.info type

試試這個

def type=context.expand('${GetResponse#Response#//*:contactPoint/@type}')

我也嘗試過

def resp=groovyUtils.getXmlHolder("GetResponse#Response")
def type1=(String)xPath.evaluate('//:contactpoint/@xs:type',resp,xPathConstants.STRING)

但沒有幫助。 請有人告訴我該怎么做?

嘗試使用它應該工作

@ {namespace 3}類型

如果在contactPoint中看到xs:type =“ Tele” xmlns:xs =“ namespace 3” ,則具有值名稱空間3和{type}的xs是Tele

編輯-您可以使用類似這樣的東西-xmlString作為XML

def xml =新的XmlSlurper()。parseText(xmlString)
println xml.contactPreference.contactPointRel.contactPoint。“ @ {namespace 3} type”

暫無
暫無

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

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