日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

XML的写入_dom4j添加、删除、修改Xml文件内容

發布時間:2023/12/16 asp.net 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XML的写入_dom4j添加、删除、修改Xml文件内容 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XML的寫入_dom4j添加、刪除、修改Xml文件內容
【工程截圖】

【person.xml】準備一個xml文件

<?xml version="1.0" encoding="UTF-8"?> <students><student id="88888" phone="15888888888" sex="男"><name>張三</name><age>18</age><school>清華</school></student><student id="99999" phone="15999999999" sex="女"><name>李四</name><age>28</age><school>北大</school></student><AAAA><aa1>aa111</aa1><aa2>aa222</aa2></AAAA><BBBB></BBBB> </students>

【讀取原有Xml文件的內容,然后將數據寫入到磁盤上】

package com.Higgin.dom4j;import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /*** 讀出原有xml文件的內容數據,然后將數據寫入到磁盤上的XML文件*/ public class WriteDemo01 {public static void main(String[] args) throws DocumentException, IOException {//讀取已存在的Xml文件person.xmlDocument doc=new SAXReader().read(new File("./src/person.xml"));//指定文件輸出的位置FileOutputStream out =new FileOutputStream("d:/student.xml");//1.創建寫出對象XMLWriter writer=new XMLWriter(out);//2.寫出Document對象writer.write(doc);//3.關閉流writer.close();} }

【運行結果】內容和person.xml一致

【按照設定的格式將xml內容輸出保存到對應的磁盤地址上】

package com.Higgin.dom4j;import java.io.File; import java.io.FileOutputStream; import java.io.IOException;import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter;/*** 1.讀出原有xml文件的內容數據,保存至Document對象* 2.修改輸出的format(輸出格式、編碼...)* 3.然后將document包含數據寫入到磁盤上的XML文件*/ public class WriteDemo02 {public static void main(String[] args) throws DocumentException, IOException {//讀取已存在的Xml文件person.xmlDocument doc=new SAXReader().read(new File("./src/person.xml"));//指定文件輸出的位置FileOutputStream out =new FileOutputStream("d:/student.xml");/*** 指定文本的寫出的格式:* 緊湊格式 :項目上線時候使用* 漂亮格式:開發調試的時候使用*///OutputFormat format=OutputFormat.createCompactFormat(); //緊湊格式:去除空格換行OutputFormat format=OutputFormat.createPrettyPrint(); //漂亮格式:有空格換行/*** 指定生成的xml文檔的編碼影響了:* 1.xml文檔保存時的編碼* 2.xml文檔聲明的encoding編碼(Xml解析時的編碼)* 結論:使用該方法生成Xml文檔可以避免中文亂碼問題*/format.setEncoding("UTF-8");//1.創建寫出對象XMLWriter writer=new XMLWriter(out,format);//2.寫出Document對象writer.write(doc);//3.關閉流writer.close();} }

【運行結果】

同樣在D盤下生成了一個student.xml文件

1.緊湊格式:

2.漂亮格式

3.注意:

/**

  • 指定生成的xml文檔的編碼影響了:
  • 1.xml文檔保存時的編碼
  • 2.xml文檔聲明的encoding編碼(Xml解析時的編碼)
  • 結論:使用該方法生成Xml文檔可以避免中文亂碼問題
    */

【增、刪、改 Xml文件

/**

  • 1.創建Document對象,
  • 添加:各種標簽、屬性、文本
  • 修改:屬性值、文本
  • 刪除:標簽、屬性
  • 2.修改輸出的format(輸出格式、編碼…)
  • 3.然后將document包含數據寫入到磁盤上的XML文件
    */

/*** 增加:文檔、標簽、屬性 */@Testpublic void testAdd() throws DocumentException, IOException {//1.創建文檔Document doc=DocumentHelper.createDocument();//2.添加標簽Element rootElem=doc.addElement("root");Element stuElem=rootElem.addElement("student");stuElem.addElement("name");//4.增加屬性stuElem.addAttribute("id", "88888");stuElem.addAttribute("sex", "男");//指定文件輸出的位置FileOutputStream out =new FileOutputStream("d:/student.xml");// 指定文本的寫出的格式:OutputFormat format=OutputFormat.createPrettyPrint(); //漂亮格式:有空格換行format.setEncoding("UTF-8");//1.創建寫出對象XMLWriter writer=new XMLWriter(out,format);//2.寫出Document對象writer.write(doc);//3.關閉流writer.close();}

【運行結果】

【修改:屬性值、文本】

/*** 修改:屬性值、文本*/@Testpublic void testUpdate() throws DocumentException, IOException{//創建Document對象,讀取已存在的Xml文件person.xmlDocument doc=new SAXReader().read(new File("./src/person.xml"));/*** 修改屬性值(方案一) * 方法:使用Attribute類(屬性類)的setValue()方法* 1.得到標簽對象* 2.得到屬性對象* 3.修改屬性值*//* //1.1 得到標簽對象Element stuElem=doc.getRootElement().element("student");//1.2 得到id屬性對象Attribute idAttr=stuElem.attribute("id");//1.3 修改屬性值idAttr.setValue("000001"); *//*** 修改屬性值(方案二)* 方法:Element標簽類的addAttribute("attr","value")方法*//* //1.得到屬性值標簽Element stuElem=doc.getRootElement().element("student");//2.通過增加同名屬性的方法,修改屬性值stuElem.addAttribute("id", "000009"); //key相同,覆蓋;不存在key,則添加*//*** 修改文本* 方法:Element標簽類的setTest("新文本值")方法* 1.得到標簽對象* 2.修改文本*/Element nameElem=doc.getRootElement().element("student").element("name");nameElem.setText("王二麻子");//指定文件輸出的位置FileOutputStream out =new FileOutputStream("d:/student.xml");// 指定文本的寫出的格式:OutputFormat format=OutputFormat.createPrettyPrint(); //漂亮格式:有空格換行format.setEncoding("UTF-8");//1.創建寫出對象XMLWriter writer=new XMLWriter(out,format);//2.寫出Document對象writer.write(doc);//3.關閉流writer.close();}

【刪除:標簽、屬性】

/*** 刪除:標簽、屬性*/@Testpublic void testDelete() throws DocumentException, IOException{//創建Document對象,讀取已存在的Xml文件person.xmlDocument doc=new SAXReader().read(new File("./src/person.xml"));/*** 刪除標簽* 1.得到標簽對象* 2.刪除標簽對象(可以通過父類刪除子標簽,也可以自己刪自己)*/ /* Element ageElement=doc.getRootElement().element("student").element("age");ageElement.detach(); //直接detch()刪除//ageElement.getParent().remove(ageElement); //先獲取父標簽,然后remove()刪除子標簽 *//*** 刪除屬性*///1.得到標簽對象//等同于Element stuElem=doc.getRootElement().element("student");Element stuElem=(Element) doc.getRootElement().elements().get(0);//2.得到屬性對象Attribute idAttr=stuElem.attribute("id");//3.刪除屬性idAttr.detach();//指定文件輸出的位置FileOutputStream out =new FileOutputStream("d:/student.xml");// 指定文本的寫出的格式:OutputFormat format=OutputFormat.createPrettyPrint(); //漂亮格式:有空格換行format.setEncoding("UTF-8");//1.創建寫出對象XMLWriter writer=new XMLWriter(out,format);//2.寫出Document對象writer.write(doc);//3.關閉流writer.close();}

總結

以上是生活随笔為你收集整理的XML的写入_dom4j添加、删除、修改Xml文件内容的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。