2014-02-27 46 views
1

使用VTD-XML解析器,下面我該如何做。如何使用VTD-XML解析器刪除特定節點

<root> 
    <A> 
     <B> 
     <c>1<c/> 
     <d>2<d/> 
     <e>3<e/> 
     </B> 
     <B> 
     <c>1<c/> 
     <d>2<d/> 
     <e>3<e/> 
     </B> 
    </A> 
</root> 

在上面的xml中,我該如何刪除只有節點有標籤名?

所以我最後出來放應

<root> 
    <A> 
    </A> 
</root> 
+0

使用xml解析器。 – Rahul

+0

@Rahul對不起,誤導人。我需要知道如何在VTD-XML解析器中執行此操作 – user2771655

+0

您是否需要代碼示例或只是說明,以便您可以繼續嘗試使用自己的代碼? –

回答

0

這是一個刪除的所有子節點的代碼,關鍵是VTDNav的getContentFragment()。

import com.ximpleware.*; 

public class removeNode { 

    public static void main(String s[]) throws Exception{ 
     VTDGen vg = new VTDGen(); 
     boolean b = vg.parseFile("input.xml", false); 
     if (b==false) 
      return; 
     VTDNav vn = vg.getNav(); 
     XMLModifier xm = new XMLModifier(vn); 
     vn.toElement(VTDNav.FC); // get to A node 
     long l = vn.getContentFragment(); 
     xm.remove(l); 
     xm.output("output.xml"); 
    } 
} 
相關問題