【发布时间】:2017-12-07 09:59:33
【问题描述】:
我有以下 XML 文档:
<?xml version="1.0" encoding="UTF-8"?>
<parent xmlns="urn:parent:ns:1.0"/>
我想出了如何使用so 将 XML 字符串转换为元素并将其附加到现有元素。
过程如下:
String text = "<child></child>";
Document document = builder.parse(new InputSource(new
StringReader(text)));
Element element = document.getDocumentElement();
Element importedNode = (Element) parent.importNode(element, true);
parent.getDocumentElement().appendChild(importedNode);
这会产生:
<?xml version="1.0" encoding="UTF-8"?>
<parent xmlns="urn:parent:ns:1.0">
<child xmlns=""/>
</parent>
子元素清除其默认命名空间,我想从父元素“继承”命名空间(在本例中为 urn:parent:ns:1.0)。
如果解决方案只使用用于 XML 的 JRE API,而不使用第三方库(例如 dom4j 等),那将是更好的选择
【问题讨论】:
-
作为旁注,我不想编辑子 XML 文本,例如在里面硬编码父命名空间,然后进行解析。
标签: java xml xml-parsing