【发布时间】:2018-08-25 16:01:06
【问题描述】:
我有简单的代码,我在其中创建根元素并将子元素附加到它。问题是 child 附加了空的 xmlns="" 属性,尽管我不期望它。这只是第一个孩子的问题,第二个嵌套级别的孩子已经可以了。
所以,下面的代码 -
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element rootEl = doc.createElementNS("http://someNamespace.ru", "metamodel");
doc.appendChild(rootEl);
Element groupsEl = doc.createElement("groups");
// This appends with xmlns=""
rootEl.appendChild(groupsEl);
Element groupEl = doc.createElement("group");
// This appends normally
groupsEl.appendChild(groupEl);
将结果输出 -
<?xml version="1.0" encoding="UTF-8"?>
<metamodel xmlns="http://someNamespace.ru">
<groups xmlns="">
<group/>
</groups>
</metamodel>
而不是-
<?xml version="1.0" encoding="UTF-8"?>
<metamodel xmlns="http://someNamespace.ru">
<groups>
<group/>
</groups>
</metamodel>
注意,正如我上面所说,标签<group> 已经从xmlns 中释放出来。
【问题讨论】:
标签: java xml dom xml-parsing