删除所有具有特定标记的DOM元素?
问题描述:
我尝试删除所有头:从以下摘录的请求书内容:删除所有具有特定标记的DOM元素?
<head:bookstore>
<head:book>9</head:book>
<head:book>10</head:book>
</head:bookstore>
requestHolder.getDomNodes("//head:bookstore/head:book").each {
requestNode.removeChild(it)
}
我在做什么错在这里?
更新:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def requestHolder = groovyUtils.getXmlHolder("openBook#Request")
答
这里解决删除XML的节点下面,请注意,你可以得到整个XML,你可能需要编辑下面的脚本的节点名称
// Get the entire request
def request = context.expand('${Test Request#Request#declare namespace soap=\'http://www.w3.org/2003/05/soap-envelope\'; //soap:Envelope[1]}')
// or create the XML
def BOOKS = '''
<bookstore>
<book>9</book>
<book>10</book>
</bookstore>
'''
def booksParser = new XmlParser().parseText(BOOKS)
def allBooks = booksParser.children()
booksParser.remove(allBooks)
new XmlNodePrinter().print(booksParser)
log.info booksParser
这是什么'requestHolder'?这不是XMLSlurper,对吧?那个对象的课是什么? – Will
不,它是GroovyUtils,更新超过 – membersound
requestNode怎么样?目前它握着哪个节点? – callie16