1
我有几行米的xml。有相同的父标签,但多于一个子标签,其中一个子标签的值为*。我的问题是,我怎样才能删除所有的父母标签,其中的儿童标签包含*谢谢你的建议!删除子标签/元素
我有几行米的xml。有相同的父标签,但多于一个子标签,其中一个子标签的值为*。我的问题是,我怎样才能删除所有的父母标签,其中的儿童标签包含*谢谢你的建议!删除子标签/元素
这是一个非常简单的应用程序,如果你知道如何使用XPath ..它基于VTD-XML。我使用的XPath是/ root/comment [change ='*']。
import com.ximpleware.*;
import java.io.*;
public class XPathRemove {
public static void main(String[] args) throws VTDException, IOException{
// TODO Auto-generated method stub
String inputXML = "<root><comment><change/></comment><comment><change>*</change></comment></root>";
VTDGen vg= new VTDGen();
vg.setDoc(inputXML.getBytes());
vg.parse(false);
VTDNav vn = vg.getNav();
AutoPilot ap= new AutoPilot(vn);
ap.selectXPath("/root/comment[change='*']");
XMLModifier xm = new XMLModifier(vn);
int i=0;
while((i=ap.evalXPath())!=-1){
xm.remove(); // remove all the selected comment node
}
xm.output("d:\\xml\\XPathRemove.xml");
}
}
你能提供简化版的布局吗?例如:这是一个单一的大文件,还是这是基于XML的文档存储中的小型XML文档的集合? –
嗨,它只有一个大的XML文件(225MB),如果有帮助,这里是结构.. \t ... \t \t \t \t \t \t .... \t \t * \t –