2016-05-27 19 views
0

Ich habe eine XML wie unten, wo ich nur den Namen des Knotens umbenennen müssen.groovy Umbenennung Knoten Problem mit xmlSlurper

<a x=1> 
    <b>c</b> 
</a> 

, und ich will es ändern zu

<p:a x=1> 
    <b>c</b> 
</p:a> 

muss ich es tun mit xmlSlurper so wie ich es tun? Wie kann ich den Knoten umbenennen? Muss das ganze XML in ein anderes Dokument usw. umgeschrieben werden? oder kann ich das im dokument tun?

def xmlDoc = new XmlSlurper(false,false).parse('my.xml') 

Antwort

-1

XmlSlurper liest XML in eine Objektstruktur ein. Sobald Sie es eingelesen haben, können Sie damit machen, was Sie wollen, aber XmlSlurper hat damit nichts zu tun.

Verwenden Sie MarkupBuilder, um XML aus dieser eingelesenen Objektstruktur auszugeben.

0

Zuerst müssen Sie Ihr XML reparieren. Der Wert für das Attribut x braucht Zitate:

<a x="1"> 
    <b>c</b> 
</a> 

Dann den Wurzelknoten umbenennen:

xmlDoc.replaceNode { 
    'p:a'(it.children()) 
}