我有一段简单的代码,其中我创建了根元素并将子元素附加到它上面。问题在于子元素带有空的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
的限制。