java完成XML添加元素操作復雜示例。本站提示廣大學習愛好者:(java完成XML添加元素操作復雜示例)文章只能為提供參考,不一定能成為您想要的結果。以下是java完成XML添加元素操作復雜示例正文
本文實例講述了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相互轉換工具:
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順序設計有所協助。