我试图在Java中创建一个XML文档,其中包含以下元素:
<project xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2"
xmlns:acme="http://www.acme.com/schemas"
color="blue">
我知道如何创建项目节点。 我也知道了如何使用设置颜色属性
element.setAttribute("color", "blue")
难道我设置的xmlns和xmlns:极致属性通过使用setAttribute()以同样的方式还是我做它在一些特殊的方式,因为它们的命名空间的属性?
我相信,你必须使用:
element.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:acme", "http://www.acme.com/schemas");
我不认为下面的代码将服务的问题!
myDocument.createElementNS("http://www.imsglobal.org/xsd/ims_qtiasiv1p2","project");
这将如下创建一个元素(使用DOM)
<http://www.imsglobal.org/xsd/ims_qtiasiv1p2:project>
因此,这将不是一个命名空间属性添加到元素。 因此,使用DOM,我们可以这样做
Element request = doc.createElement("project");
Attr attr = doc.createAttribute("xmlns");
attr.setValue("http://www.imsglobal.org/xsd/ims_qtiasiv1p2");
request.setAttributeNode(attr);
因此,这将设置类似下面的第一个属性,你可以用同样的方法设置多个属性
<project xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2>
当您创建的元素,你可以简单地指定命名空间。 例如:
myDocument.createElementNS("http://www.imsglobal.org/xsd/ims_qtiasiv1p2","project");
那么Java DOM库将处理您的命名空间声明为您服务。