0

我得到了以下(实际上是巨大的)XML 来处理:

<root>
  <item attr="hello world">
    <subitem></subitem>
    <subitem></subitem>
    <subitem></subitem>
    <subitem></subitem>
  </item>
  <item attr="hello world">
    <subitem></subitem>
    <subitem></subitem>
    <subitem></subitem>
    <subitem></subitem>
  </item>
  .
  .
  .
</root>

使用StaxMate,这非常容易。但是我到底如何告诉 StaxMate“记录”例如每个项目的纯 XML (参见上面的 XML)。所以在处理完一个项目后,我已经完成了我的处理+我有字符串

  <item attr="hello world">
    <subitem></subitem>
    <subitem></subitem>
    <subitem></subitem>
    <subitem></subitem>
  </item>

某处。

非常感谢,法比安

4

1 回答 1

0

你需要写条目;XMLStreamWriter2 有很好的方法,XMLStreamWriter2.copyEventFromReader(...)可以用来制作令牌的精确副本。

但是你为什么要创建Strings 呢?直接编写 XML 片段或处理它们不是很有意义吗?字符串对于 XML 来说是低效的东西;占用内存,写出时需要编码,包含XML时需要解析。所以这样做的唯一原因是它们是否必须作为字符串传递给另一个库。

于 2012-07-17T17:48:53.563 回答