Java 如何删除大型文件中包含VTD-XML的节点?

Java 如何删除大型文件中包含VTD-XML的节点?,java,xml,xml-parsing,vtd-xml,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> 我希望有人能帮我解决这个问题。你的档案有多大?超过2GB?你的问题让我再次进

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

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

我希望有人能帮我解决这个问题。

你的档案有多大?超过2GB?你的问题让我再次进行测试,如果可以不使用vtd xml的扩展版本并且现在它工作了的话。该文件的容量约为100MB,但将来还会增加,包含450万行。第一次尝试vtd xml时,文件大小出现错误,我想知道为什么。在扩展版本中,它起作用了。所以我决定使用扩展版本。所以这个问题实际上不再需要了,但我(也许还有其他人)感兴趣,是否有办法修改一个巨大的文件,或者更确切地说,是否有办法计划?抱歉,可能有不必要的问题。我想随时更改大文件(2GB-8GB)。我对如何做到这一点非常感兴趣。
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);