0
我想使用groovy從XML文件中刪除一些元素,但是這似乎不起作用。如何從XML文件中刪除節點
任何想法如何解決這個問題?
def DeploymentDescriptors = new XmlSlurper().parse("pathToMyXMLFile")
DeploymentDescriptors.NameValuePairs.NameValuePair.each {
if(it.name == 'B')
it.replaceNode{}
}
XML文件
<DeploymentDescriptors>
<NameValuePairs>
<NameValuePair>
<name>A</name>
<value>Value A</value>
</NameValuePair>
<NameValuePair>
<name>B</name>
<value>Value B</value>
</NameValuePair>
<NameValuePair>
<name>C</name>
<value>Value C</value>
</NameValuePair>
</NameValuePairs>
</DeploymentDescriptors>
功能'find'找到的第一個值相匹配的閉合狀態。所以如果有兩個名字爲'B'的節點,你將只刪除1.OP使用'each',所以我想他想刪除所有的出現。 – 2014-10-03 10:18:50
感謝@xwid指出了這一點。用'each'和條件塊代替'find'。 – Opal 2014-10-03 10:25:38
您應該使用'findAll'而不是'each'。 – 2014-10-03 10:29:25