java實現(xiàn)XML增加元素操作簡單示例
本文實例講述了java實現(xiàn)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("作者");// 創(chuàng)建新元素/標簽
newEle.setTextContent("ZC"); //給元素設(shè)置內(nèi)容 <作者>ZC</作者>
Node nod = doc.getElementsByTagName("書名").item(0); //通過nodelist的item()方法獲得具體節(jié)點
/**
* 在具體節(jié)點插入元素用 節(jié)點.insertBefore方法
* 第一個參數(shù)是要插入的新節(jié)點,第二個是插入的位置
*/
nod.insertBefore(newEle, doc.getElementsByTagName("書名").item(0));
/**
* DOMSource(Node n)
* 注意 element是Node的一個子類,所以可以把doc放入構(gòu)造函數(shù)
*
*
*/
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:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
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程序設(shè)計有所幫助。
相關(guān)文章
基于resty orm的ActiveRecord操作數(shù)據(jù)指南
這篇文章主要為大家介紹了基于resty orm的ActiveRecord操作數(shù)據(jù)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03
Windows編寫jar啟動腳本和關(guān)閉腳本的操作方法
腳本文件,通常放入/bin目錄下,編寫啟動腳本需要保證能夠識別到對應(yīng)的jar文件,其次需要保證能夠識別到/config中的配置文件信息,這篇文章主要介紹了Windows編寫jar啟動腳本和關(guān)閉腳本的操作方法,需要的朋友可以參考下2022-12-12
Java中使用jaxp進行sax解析_動力節(jié)點Java學(xué)院整理
使用SAX的優(yōu)勢在于其解析速度較快,相對于DOM而言占用內(nèi)存較少。這篇文章主要介紹了Java中使用jaxp進行sax解析,需要的朋友可以參考下2017-08-08
Spring Boot 配置MySQL數(shù)據(jù)庫重連的操作方法
這篇文章主要介紹了Spring Boot 配置MySQL數(shù)據(jù)庫重連的操作方法,需要的朋友可以參考下2018-04-04
解決微服務(wù)下Mybatis?xml無效綁定問題及分析Invalid?bound?statement
這篇文章主要介紹了解決微服務(wù)下Mybatis?xml無效綁定問題及分析Invalid?bound?statement,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

