创建文档属性xml:lang

时间:2014-03-27 18:19:52

标签: java xml dom

我需要在Document Element上添加属性xml:lang =“eng”。 我正在使用此代码:

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)

2 个答案:

答案 0 :(得分:0)

将其更改为&#34; xml:lang =&#39; zh&#39;&#34; ..不会在我的调试器中抛出错误。

答案 1 :(得分:0)

事实证明解决方案非常简单,我所要做的就是调用element.setAttribute()而不设置命名空间。发生这种情况是因为XML是默认命名空间,无法重新定义/覆盖。