这是我的情况。
我有一个包含 XML 数据的字符串:
<tag>
<anotherTag> data </anotherTag>
</tag>
我获取该字符串并通过此代码运行它以将其转换为文档:
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
return builder.parse(new InputSource(new StringReader(sXMLString)));
}
catch (Exception e) {
// Parser with specified options can't be built
ceLogger.logError("Unable to build a new XML Document from string provided:\t" + e.getMessage());
return null;
}
生成的 xml 几乎是完美的。然而,它缺少数据,看起来像这样:
<tag>
<anotherTag />
</tag>
创建 XML 文档时如何复制文本,为什么首先要删除文本?
编辑:实际问题最终是这样的:在使用我自己的函数解析 XML 结构时,这一行就在那里:
if (curChild.getNodeType()==Node.ELEMENT_NODE)
sResult.append(XMLToString((Element)children.item(i),attribute_mask));
但是对于 TEXT 节点不存在这样的逻辑,所以它们被简单地忽略了。