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程序设计有所帮助。