我对以下代码的工作方式有一个理解问题:
XMLInputFactory xif = XMLInputFactory.newFactory();
XMLOutputFactory xof = XMLOutputFactory.newFactory();
XMLEventReader reader = xif.createXMLEventReader(/* ... */);
XMLEventWriter writer = xof.createXMLEventWriter(/* ... */);
writer.add(reader);
writer.add([some reader]) 方法从 reader 读取所有事件并随后写入它们。可悲的是,发生了以下情况:
输入
<root><c/></root>
变成
<root><c><c/></root>
我知道,从 XML 的角度来看,这些是平等的树,但对人类来说不是 ;)
我该怎么做才能获得相同的输出?
仅供参考:稍后我需要一个 XMLEvent[Reader|Writer] 对来过滤“XML 事件”。