【问题标题】:Setting namespace and schema using java dom使用 java dom 设置命名空间和模式
【发布时间】:2010-12-15 14:08:53
【问题描述】:

我的输出 xml 文档中有一个没有属性的根元素:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
..
</root>

我需要它看起来像这样:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="my.xsd">
....
</root>

我不知道如何使用 java DOM API 正确执行此操作。

谢谢!

【问题讨论】:

  • 啊,你比我更容易编辑!谢谢!

标签: java xml dom


【解决方案1】:

使用NS 方法。在这种情况下,命名空间是http://www.w3.org/2001/XMLSchema-instance

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = factory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element root = doc.createElement("root");
root.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance",
    "xsi:noNamespaceSchemaLocation", "my.xsd");
root.appendChild(doc.createElement("foo"));
doc.appendChild(root);
// see result
DOMImplementationLS dls = (DOMImplementationLS) doc.getImplementation();
System.out.println(dls.createLSSerializer().writeToString(doc));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2011-09-16
    • 1970-01-01
    • 2010-12-02
    • 2021-05-22
    • 1970-01-01
    相关资源
    最近更新 更多