使用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)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |