The easiest most and most efficient way to update XML documents is to use non-extractive parsers (such as VTD-XML) because they support incremental content update. Suppose you have the following XML document, named
test.xml. Below is a snippet that inserts two attribute name/value pairs into an XML document.
<tag> hello world </tag>
Now, here's the Java code for doing the attribute insertion:
public class simpleApp2 {
public static void main(String[] s) throws Exception {
VTDGen vg = new VTDGen();
XMLModifier xm = new XMLModifier();
if (vg.parseFile("test.xml", false)){
VTDNav vn = vg.getNav();
xm.bind(vn);
xm.insertAttribute(" attr1='val1" attr2='val2'");
xm.output("new.xml");
}
}
}
The output, named
new.xml, is shown below:
<tag attr1='val1" attr2='val2'> hello world </tag>