は、私がsoapuiスクリプト(グルーヴィー)アサーションを探求しようとしていたxml responceです:このXPath(ターゲットへのすべてのノード)が(SoapUIを使用して)応答して要素を表示できないのはなぜですか?ここ
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<myInfoResponse xmlns="http://test.test.test.test">
<pc>1234223234</pc>
<item>
<sl>val1</sl>
<he>val2</he>
<ko>val3</ko>
<fo>val4</fo>
<ok>val5</ok>
<di>val6</di>
</item>
...
私はpc
ノードの値を取得することはできません理由:
def holder = new XmlHolder(messageExchange.responseContentAsXml)
holder.getNodeValue("/S:Envelope/S:Body/myInfoResponse/pc")
// Output: null
holder.getNodeValue("/S:Envelope/S:Body/myInfoResponse[1]/pc[1]")
// Output: null
そして、私はして値を取得することができますXPath
holder.getNodeValue("/S:Envelope/S:Body/*[1]/*[1]")
// Output: 1234223234
holder.getNodeValue("/S:Envelope/S:Body/*[1]/*[2]/*[4]")
// Output: val4
なぜですか?
http://www.edankert.com/defaultnamespaces.html – Rao
ため、デフォルトの名前空間の:以下
はXmlSlurperを使用してgetNodeValue
を使用してスクリプトアサーションです。あなたが所有者と名前空間に関係なく取り出したい場合は、 'holder.getNodeValue("/S:Envelope/S:Body/*:myInfoResponse/*:pc ")' –