java實(shí)現(xiàn)XML增加元素操作簡(jiǎn)單示例
本文實(shí)例講述了java實(shí)現(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("書(shū)").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)建新元素/標(biāo)簽 newEle.setTextContent("ZC"); //給元素設(shè)置內(nèi)容 <作者>ZC</作者> Node nod = doc.getElementsByTagName("書(shū)名").item(0); //通過(guò)nodelist的item()方法獲得具體節(jié)點(diǎn) /** * 在具體節(jié)點(diǎn)插入元素用 節(jié)點(diǎn).insertBefore方法 * 第一個(gè)參數(shù)是要插入的新節(jié)點(diǎn),第二個(gè)是插入的位置 */ nod.insertBefore(newEle, doc.getElementsByTagName("書(shū)名").item(0)); /** * DOMSource(Node n) * 注意 element是Node的一個(gè)子類,所以可以把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"?> <書(shū)架> <書(shū)> <書(shū)名>Thinking in Java</書(shū)名> <作者>Eric</作者> <售價(jià)>$34</售價(jià)> </書(shū)> </書(shū)架>
修改后的XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <書(shū)架> <書(shū)> <作者>ZC</作者> <書(shū)名>Thinking in Java</書(shū)名> <作者>Eric</作者> <售價(jià)>$34</售價(jià)> </書(shū)> </書(shū)架>
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
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于resty orm的ActiveRecord操作數(shù)據(jù)指南
這篇文章主要為大家介紹了基于resty orm的ActiveRecord操作數(shù)據(jù)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03Java 獲取Web項(xiàng)目相對(duì)webapp地址的實(shí)例
下面小編就為大家?guī)?lái)一篇Java 獲取Web項(xiàng)目相對(duì)webapp地址的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Windows編寫jar啟動(dòng)腳本和關(guān)閉腳本的操作方法
腳本文件,通常放入/bin目錄下,編寫啟動(dòng)腳本需要保證能夠識(shí)別到對(duì)應(yīng)的jar文件,其次需要保證能夠識(shí)別到/config中的配置文件信息,這篇文章主要介紹了Windows編寫jar啟動(dòng)腳本和關(guān)閉腳本的操作方法,需要的朋友可以參考下2022-12-12Java中使用jaxp進(jìn)行sax解析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
使用SAX的優(yōu)勢(shì)在于其解析速度較快,相對(duì)于DOM而言占用內(nèi)存較少。這篇文章主要介紹了Java中使用jaxp進(jìn)行sax解析,需要的朋友可以參考下2017-08-08Spring Boot 配置MySQL數(shù)據(jù)庫(kù)重連的操作方法
這篇文章主要介紹了Spring Boot 配置MySQL數(shù)據(jù)庫(kù)重連的操作方法,需要的朋友可以參考下2018-04-04解決微服務(wù)下Mybatis?xml無(wú)效綁定問(wèn)題及分析Invalid?bound?statement
這篇文章主要介紹了解決微服務(wù)下Mybatis?xml無(wú)效綁定問(wèn)題及分析Invalid?bound?statement,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11使用socket進(jìn)行服務(wù)端與客戶端傳文件的方法
這篇文章主要介紹了使用socket進(jìn)行服務(wù)端與客戶端傳文件的方法,需要的朋友可以參考下2017-08-08