2014-02-27 45 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"); 
    } 
} 
相关问题