小编RGr*_*ppa的帖子

将字符串转换为XMLDocument不会创建文本节点

这是我的情况.

我有一个包含XML数据的字符串:

<tag> 
    <anotherTag> data </anotherTag>
</tag>
Run Code Online (Sandbox Code Playgroud)

我接受了这个字符串,并通过此代码运行它以将其转换为Document:

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;
}
Run Code Online (Sandbox Code Playgroud)

得到的xml几乎是完美的.但它缺少数据,看起来像这样:

<tag> 
    <anotherTag />
</tag>
Run Code Online (Sandbox Code Playgroud)

如何在创建XML文档时复制文本以及为什么首先删除文本?

编辑:实际问题最终成为了这样的事情:在使用我自己的函数解析XML结构时,这行是:

if (curChild.getNodeType()==Node.ELEMENT_NODE) 
   sResult.append(XMLToString((Element)children.item(i),attribute_mask));
Run Code Online (Sandbox Code Playgroud)

但TEXT节点不存在这样的逻辑,因此它们被忽略了.

java xml

2
推荐指数
1
解决办法
652
查看次数

标签 统计

java ×1

xml ×1