将名称空间添加到JavaDOM属性
我正在尝试创建带有名称空间前缀的属性。以下代码似乎不起作用:将名称空间添加到JavaDOM属性,java,Java,我正在尝试创建带有名称空间前缀的属性。以下代码似乎不起作用: Element newData = docFromXML.createElement("Data"); Attr typeAttr = docFromXML.createAttributeNS(namespaceContext.getNamespaceURI("ss"), "type"); typeAttr.setValue("String"); newData.setAttributeNode(typeAttr); 我期望: &l
Element newData = docFromXML.createElement("Data");
Attr typeAttr = docFromXML.createAttributeNS(namespaceContext.getNamespaceURI("ss"), "type");
typeAttr.setValue("String");
newData.setAttributeNode(typeAttr);
我期望:
<Data ss:type="String"></Data>
但产生了以下结果:
<Data type="String"></Data>
如何明确地添加名称空间前缀“ss”。getNamespaceURI函数返回DOM中ss前缀的URL。以下方法有效:
Attr typeAttr = docFromXML.createAttribute("ss:type");
它产生:
<Data ss:type="String"></Data>
我想我已经找到了它不起作用的原因。ss恰好是同一DOM根中的默认名称空间:那么如何仍然显式地添加它呢?我仍然需要它。