我正在尝试使用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)
但没有帮助。请有人告诉我该怎么做?
答案 0 :(得分:0)
尝试使用它应该工作
@ {namespace 3} type
如果您在 contactPoint 中看到 xs:type =“Tele”xmlns:xs =“namespace 3”,则xs的值为命名空间3 和{type}是Tele
已编辑 - 您可以使用类似的内容 - 将xmlString作为XML
def xml = new XmlSlurper()。parseText(xmlString)
的println xml.contactPreference.contactPointRel.contactPoint。“@ {命名空间 3}输入“