如何在大文件中删除带有VTD-XML的节点?

时间:2017-02-16 10:20:35

标签: java xml xml-parsing vtd-xml

我有一个巨大的XML文件,其结构如下:

<root>
  <a>
    <b>
      <c>24</c>
      <d>26</d>
    </b>
    <e>1</e>
    <f>1</f>
  </a>
...
</root>

元素'a'在文档中是几十万次。我想删除标记为“a”的一些元素,并找到以下问题:thisthat

他们使用XMLModifier执行此任务,但我无法使用VTDNavHuge创建XMLModifier。

到目前为止我的代码:

VTDGenHuge vg = new VTDGenHuge();
VTDNavHuge vnh = null;
if (vg.parseFile("example.xml",true,VTDGenHuge.MEM_MAPPED))
   vnh = vg.getNav();
XMLModifier xm = new XMLModifier(vnh); // can't create the XMLModifier with VTDNavHuge

// I would remove one element with the following code
vnh.toElement(VTDNav.FIRST_CHILD); // get to Node a
long l = vnh.getContentFragment();
xm.remove(l);

我希望有人能帮助我。

0 个答案:

没有答案