是否可以操纵肥皂信封元素?

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