2016-06-28 7 views

Antwort

1

replaceNode kann die Knoten wie unten umbenennen verwendet werden:

def xml = '''<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Samples> 
    <Sample> 
    <Name> 
     Sample1 
    </Name> 
    <Date> 
     01/20/2016 
    </Date> 
    </Sample> 
</Samples> 
''' 

def result = new XmlSlurper().parseText(xml) 

result.replaceNode { 
    'SampleList' it.children() 
} 

groovy.xml.XmlUtil.serialize(result) 

replaceNode nimmt einen Verschluss als Verfahrensparameter, die Teilnehmer an einen Builder. In diesem Fall wird der Knoten ersetzt, anstatt ihn an das Hauptdokument anzuhängen. 'SampleList' it.children() ist ähnlich wie 'SampleList(it.children())'.

Parsed xml's Wurzelelement ist Samples (die ersetzt werden muss), replaceNode wurde direkt auf der result getan.

+0

hi @ dmahapatro, können Sie erklären, wie replaceNode funktioniert? Weil Sie nicht angegeben haben, welchen Namen Sie ersetzen möchten, aber der Code funktioniert. Danke :) – user3714598

+0

@ user3714598 Siehe aktualisierte Antwort. – dmahapatro

Verwandte Themen