编程语言
首页 > 编程语言> > java-如何使用VTD-XML解析器删除特定节点

java-如何使用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>

解决方法:

这是删除A的所有子节点的代码,键是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");
    }
}

标签:vtd-xml,java,xml,xml-parsing
来源: https://codeday.me/bug/20191009/1880170.html