2016-05-27 5 views
0

У меня есть xml, как показано ниже, где мне просто нужно переименовать имя узла в другое.groovy переименовать узел с помощью xmlSlurper

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

и я хочу, чтобы изменить его

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

мне нужно сделать это с помощью xmlSlurper так как я могу это сделать? как я могу переименовать узел. Нужно ли переписывать весь xml в другой документ и т. Д.? или я могу сделать это в документе?

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

ответ

-1

XmlSlurper считывает XML в структуру объекта. Когда вы его прочитаете, вы можете делать все, что хотите, но XmlSlurper не имеет к этому никакого отношения.

Использование MarkupBuilder для выписывания XML из этой структуры объектов с открытым текстом.

0

Сначала вам нужно исправить свой XML. Значение атрибута х нуждается в кавычки:

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

Затем переименовать корневой узел:

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