java实现XML增加元素操作简单示例
本文实例讲述了java实现XML增加元素操作。分享给大家供大家参考,具体如下:
packageDay01;
importjava.io.*;
importjavax.xml.parsers.*;
importjavax.xml.transform.*;
importjavax.xml.transform.dom.DOMSource;
importjavax.xml.transform.stream.StreamResult;
importorg.w3c.dom.*;
publicclassCRUDDEMO{
/*publicvoidaddElement()throwsException{
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
DocumentBuilderbuilder=factory.newDocumentBuilder();
Documentdoc=builder.parse(newFile("src/Day01/Book.xml"));
ElementnewEle=doc.createElement("作者");
newEle.setTextContent("ZC");
Nodenod=doc.getElementsByTagName("书").item(0);
nod.appendChild(newEle);
Sourcesour=newDOMSource(doc);
Resultresult=newStreamResult(newFileOutputStream("src/Day01/Book.xml"));
write(sour,result);
}*/
publicvoidaddElement2()throwsException{
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();//建立工厂
DocumentBuilderbuilder=factory.newDocumentBuilder();//拿到builder
Documentdoc=builder.parse(newFile("src/Day01/Book.xml"));//获得document,这是终极目的
ElementnewEle=doc.createElement("作者");//创建新元素/标签
newEle.setTextContent("ZC");//给元素设置内容<作者>ZC</作者>
Nodenod=doc.getElementsByTagName("书名").item(0);//通过nodelist的item()方法获得具体节点
/**
*在具体节点插入元素用节点.insertBefore方法
*第一个参数是要插入的新节点,第二个是插入的位置
*/
nod.insertBefore(newEle,doc.getElementsByTagName("书名").item(0));
/**
*DOMSource(Noden)
*注意element是Node的一个子类,所以可以把doc放入构造函数
*
*
*/
Sourcesour=newDOMSource(doc);
Resultresult=newStreamResult(newFileOutputStream("src/Day01/Book.xml"));
write(sour,result);
}
publicvoidwrite(Sourcesource,Resultresult){
TransformerFactorytffactory=TransformerFactory.newInstance();
Transformertr;
try{
tr=tffactory.newTransformer();
tr.transform(source,result);
}catch(TransformerConfigurationExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(TransformerExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args)throwsException{
CRUDDEMOcr=newCRUDDEMO();
cr.addElement2();
}
}
修改前的XML:
<?xmlversion="1.0"encoding="UTF-8"standalone="no"?> <书架> <书> <书名>ThinkinginJava</书名> <作者>Eric</作者> <售价>$34</售价> </书> </书架>
修改后的XML
<?xmlversion="1.0"encoding="UTF-8"standalone="no"?> <书架> <书> <作者>ZC</作者> <书名>ThinkinginJava</书名> <作者>Eric</作者> <售价>$34</售价> </书> </书架>
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
希望本文所述对大家java程序设计有所帮助。