删除所有具有特定标记的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") 
+0

这是什么'requestHolder'?这不是XMLSlurper,对吧?那个对象的课是什么? – Will

+0

不,它是GroovyUtils,更新超过 – membersound

+0

requestNode怎么样?目前它握着哪个节点? – callie16

这里解决删除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