2014-03-27 112 views
0

我需要在文檔元素上添加屬性xml:lang =「eng」。 我使用這個代碼:創建文檔屬性xml:lang

element.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:lang", "eng"); 

當執行上述方法中,我正在以下例外:

org.w3c.dom.DOMException中:NAMESPACE_ERR:試圖 到由創建或更改對象的方式與命名空間有關的方式不正確。

我不知道我在做什麼錯,是否有另一種方法來設置此屬性?

堆棧跟蹤

org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces. 
    org.apache.xerces.dom.CoreDocumentImpl.checkDOMNSErr(Unknown Source) 
    org.apache.xerces.dom.AttrNSImpl.setName(Unknown Source) 
    org.apache.xerces.dom.AttrNSImpl.<init>(Unknown Source) 
    org.apache.xerces.dom.CoreDocumentImpl.createAttributeNS(Unknown Source) 
    org.apache.xerces.dom.ElementImpl.setAttributeNS(Unknown Source) 

回答

0

更改爲 「XML:LANG = 'EN'」 ..沒有在我的調試器拋出一個錯誤。

+0

Nope沒有任何區別.. – Giannis

+0

@ user3447629:你能解釋一下爲什麼通過改變你提到的方式不會讓調試器拋出任何錯誤/異常。 –

0

原來這個解決方案非常簡單,我只需要調用element.setAttribute()而不需要設置命名空間。發生這種情況是因爲XML是一個默認名稱空間,不能重新定義/覆蓋。