java实现XML增加元素操作简单示例
程序员文章站
2024-03-07 10:24:39
本文实例讲述了java实现xml增加元素操作。分享给大家供大家参考,具体如下:
package day01;
import java.io.*;
import...
本文实例讲述了java实现xml增加元素操作。分享给大家供大家参考,具体如下:
package day01; import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import org.w3c.dom.*; public class cruddemo { /*public void addelement() throws exception{ documentbuilderfactory factory = documentbuilderfactory.newinstance(); documentbuilder builder = factory.newdocumentbuilder(); document doc = builder.parse(new file ("src/day01/book.xml")); element newele = doc.createelement("作者"); newele.settextcontent("zc"); node nod = doc.getelementsbytagname("书").item(0); nod.appendchild(newele); source sour = new domsource(doc); result result = new streamresult (new fileoutputstream("src/day01/book.xml")); write (sour, result); }*/ public void addelement2() throws exception{ documentbuilderfactory factory = documentbuilderfactory.newinstance(); //建立工厂 documentbuilder builder = factory.newdocumentbuilder(); //拿到builder document doc = builder.parse(new file ("src/day01/book.xml")); //获得document,这是终极目的 element newele = doc.createelement("作者");// 创建新元素/标签 newele.settextcontent("zc"); //给元素设置内容 <作者>zc</作者> node nod = doc.getelementsbytagname("书名").item(0); //通过nodelist的item()方法获得具体节点 /** * 在具体节点插入元素用 节点.insertbefore方法 * 第一个参数是要插入的新节点,第二个是插入的位置 */ nod.insertbefore(newele, doc.getelementsbytagname("书名").item(0)); /** * domsource(node n) * 注意 element是node的一个子类,所以可以把doc放入构造函数 * * */ source sour = new domsource(doc); result result = new streamresult (new fileoutputstream("src/day01/book.xml")); write (sour, result); } public void write(source source,result result) { transformerfactory tffactory = transformerfactory.newinstance(); transformer tr; try { tr = tffactory.newtransformer(); tr.transform(source, result); } catch (transformerconfigurationexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (transformerexception e) { // todo auto-generated catch block e.printstacktrace(); } } public static void main(string[] args) throws exception { cruddemo cr = new cruddemo(); cr.addelement2(); } }
修改前的xml:
<?xml version="1.0" encoding="utf-8" standalone="no"?> <书架> <书> <书名>thinking in java</书名> <作者>eric</作者> <售价>$34</售价> </书> </书架>
修改后的xml
<?xml version="1.0" encoding="utf-8" standalone="no"?> <书架> <书> <作者>zc</作者> <书名>thinking in java</书名> <作者>eric</作者> <售价>$34</售价> </书> </书架>
ps:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线xml/json互相转换工具:
在线格式化xml/在线压缩xml:
xml在线压缩/格式化工具:
xml代码在线格式化美化工具:
希望本文所述对大家java程序设计有所帮助。