if (vg.parseFile("old.xml",false)){
VTDNav
vn = vg.getNav();
ap0.bind(vn);
ap1.bind(vn);
ap2.bind(vn);
FileOutputStream fos = new FileOutputStream("new.xml");
fos.write("<root>".getBytes());
byte[]
ba = vn.getXML().getBytes();
// write all the fragments for /root/a
while(ap0.evalXPath()!=-1){
long l= vn.getElementFragment();
int offset = (int)l;
int len = (int)(l>>32);
fos.write('\n');
fos.write(ba,offset, len);
}
ap0.resetXPath();
// write all the fragments for /root/b
while(ap1.evalXPath()!=-1){
long l= vn.getElementFragment();
int offset = (int)l;
int len = (int)(l>>32);
fos.write('\n');
fos.write(ba,offset, len);
}
ap1.resetXPath();
// write all the fragments for /root/c
while(ap2.evalXPath()!=-1){
long l= vn.getElementFragment();
int offset = (int)l;
int len = (int)(l>>32);
fos.write('\n');
fos.write(ba,offset, len);
}
ap2.resetXPath();
// write ending tag
fos.write('\n');
fos.write("</root>".getBytes());
}