是否可以操纵肥皂信封元素?
Is it possible to manipulate a soap envelope element?
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://someuri/">
<soapenv:Header/>
<soap:Body>
<Element>
///
</Element>
<Element>
///
</Element>
</soap:Body>
</soap:Envelope>
你好
我需要使用 GroovyScript 将信封元素中 [xmlns:api="http://someuri/"] 中的 uri 更改为“someotheruri”。
我搜索了几个小时如何使用 xmlslurper、xmlparser 并且每个节点都可以轻松更改。但是我需要更改根元素中的命名空间。
def source = new File("test.xml").text
def root = new XmlSlurper(false, false).parseText(source)
println(root.lookupNamespace("api"))
它给了我字符串形式的 uri,但没有给我它的节点。我错过了什么吗?
真的很晚了,我最后的希望就是在这里问了。
提前致谢!
项目文件是 XML。您可以在 SoapUI 之外对项目文件执行 replaceAll()
:
def projectFileA = new File('/path/to/your/soapui-project.xml')
def projectFileB = projectFileA.text.replaceAll('xmlns:api="http://someuri/"', 'xmlns:api="http://someotheruri/"')
projectfileA.text = projectfileB
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://someuri/">
<soapenv:Header/>
<soap:Body>
<Element>
///
</Element>
<Element>
///
</Element>
</soap:Body>
</soap:Envelope>
你好
我需要使用 GroovyScript 将信封元素中 [xmlns:api="http://someuri/"] 中的 uri 更改为“someotheruri”。
我搜索了几个小时如何使用 xmlslurper、xmlparser 并且每个节点都可以轻松更改。但是我需要更改根元素中的命名空间。
def source = new File("test.xml").text
def root = new XmlSlurper(false, false).parseText(source)
println(root.lookupNamespace("api"))
它给了我字符串形式的 uri,但没有给我它的节点。我错过了什么吗?
真的很晚了,我最后的希望就是在这里问了。
提前致谢!
项目文件是 XML。您可以在 SoapUI 之外对项目文件执行 replaceAll()
:
def projectFileA = new File('/path/to/your/soapui-project.xml')
def projectFileB = projectFileA.text.replaceAll('xmlns:api="http://someuri/"', 'xmlns:api="http://someotheruri/"')
projectfileA.text = projectfileB