Возможно, вы захотите использовать XMLModier для vtd-xml, чтобы сделать это простым образом, чтобы добавить содержимое байта напрямую ... Вам просто нужно вызвать вставку XMLModier insertAfterElement() ... ниже - ссылка к образцу кода: Incrementally Modify XML in Java:
import com.ximpleware.*;
import java.io.*;
public class ModifyXML {
public static void main(String[] s) throws Exception{
VTDGen vg = new VTDGen(); // Instantiate VTDGen
XMLModifier xm = new XMLModifier(); //Instantiate XMLModifier
if (vg.parseFile("old.xml",false)){
VTDNav vn = vg.getNav();
xm.bind(vn);
// first update the value of attr
int i = vn.getAttrVal("attr");
if (i!=-1){
xm.updateToken(i,"value");
}
// navigate to <a>
if (vn.toElement(VTDNav.FC,"a")) {
// update the text content of <a>
i=vn.getText();
if (i!=-1){
xm.updateToken(i," new content ");
}
// insert an element before <a> (which is the cursor element)
xm.insertBeforeElement("<b/>\n\t");
// insert an element after <a> (which is the cursor element)
xm.insertAfterElement("\n\t<c/>");
}
xm.output(new FileOutputStream("new.xml"));
}
}
}
и значения c, d, e? – Ajay
Редактирование ... хотя, если вы хотите посмотреть, как создать контент в этих элементах, было бы полезно сказать это в вопросе. –
извините ... сделали это! .. спасибо за ответ – Ajay