加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用java dom设置命名空间和模式

发布时间:2020-12-15 08:31:19 所属栏目:Java 来源:网络整理
导读:我的输出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"
我的输出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正确执行此操作.

谢谢!

解决方法

使用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));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读