1
我想創建一個簡單的XML節點,我看着http://docs.groovy-lang.org/latest/html/api/groovy/util/Node.html的文檔並編寫這些代碼。groovy創建新的XML節點
def newbook = new Node(null, 'book', [id:'3'])
newbook.appendNode(new Node(newbook,'title',[id:'BookId3']))
newbook.appendNode(new Node(newbook,'author',[id:'3'],'Harper Lee'))
println groovy.xml.XmlUtil.serialize(newbook)
但輸出
<?xml version="1.0" encoding="UTF-8"?><book id="3">
<title id="BookId3"/>
<title/>
<author id="3">Harper Lee</author>
<author/>
</book>
在我看來,有兩個標題標籤和獲得創建作家的標籤。爲什麼?
我也曾嘗試
def newbook = new Node(null, 'book', [id:'3'])
newbook.appendNode(new QName('title'),'BookId3')
newbook.appendNode(new QName('author'),[id:'3'],'Harper Lee')
println groovy.xml.XmlUtil.serialize(newbook)
輸出
<?xml version="1.0" encoding="UTF-8"?><book id="3">
<title xmlns="">BookId3</title>
<author xmlns="" id="3">Harper Lee</author>
</book>
現在看起來不錯,但有沒有辦法消除的命名空間?
理想我想有這樣的事情
<book id="3">
<title>BookId3</title>
<author id="3">Harper Lee</author>
</book>
,然後在replaceNode()方法
是的,你基本上增加了兩個節點。一個帶有這些字段的構造函數,另一個帶有它決定的名稱,它是沒有屬性或值的「標題」或「作者」。 –