2011-12-03 29 views
0

一個屬性節點的設置localName屬性我有形式在Java的DOM

<root xmlns:ns2="prop" xmlns:ns3="prop2" .... etc ... .. </root>

我需要改變NS2,NS3等爲有意義的名稱的XML。 但是在org.w3c.dom.Node對象上,雖然存在getLocalName方法,但沒有setLocalName可用。

請讓我知道如果有反正我可以做所需的改變? 儘管具體的實施方式是首選,但即使是hacky的也是受歡迎的。

+0

'localName'不指向前綴,它指的是元素名稱(例如'ns3:xyz'的本地名稱是'xyz',而不是'ns3')。 – skaffman

+0

我知道,但我需要改變本地名稱本身..如果你看看我指的xml結構,在我的情況下ns2 ns3 etc atre本地名稱。 – yogytes

回答

0

更改這些屬性不會幫助你。這些屬性與嵌套在此根節點下的節點使用的前綴綁定。你需要做的是通過文檔並更改這些節點的前綴。

+0

但我必須改變這些屬性以達到我的目的。有沒有辦法克隆節點並更改其本地名稱並將其替換爲原始節點? – yogytes

+0

用於什麼目的? – jtahlborn

+0

因爲它們應該是我生成的xml的自定義命名空間前綴。例如:如果我在根元素中有一個條目xmlns:ns3 =「某些命名空間」,我將會有像 ...等子元素,我可以使用setPrefix方法爲子元素提供自定義前綴。例如我已將所有ns3的出現改爲自定義名稱。我需要在根元素列表中反映相同的情況, – yogytes