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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

使用DOM4J读取和维护XML数据

發布時間:2024/10/8 asp.net 82 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用DOM4J读取和维护XML数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

筆記目錄:


1.了解XML解析

2.使用DOM讀取和維護XML數據

3.使用DOM4J讀取和維護XML數據


1.DOM4J介紹

?

2. DOM4J讀寫機制

?

3. DOM4J常用API

DOM4J的主要接口都定義在org.dom4j這個包里

?

4.DOM4J解析XML的步驟

?

5.?DOM4J保存XML的步驟

如果XML文檔為全英文,保存XML可以簡化:

XMLWriter writer = new XMLWriter (new FileWriter("XML文件")); writer.write(Document對象); writer.close();

?

6.使用DOM4J操作XML時主要使用的對象及其方法

6.1 Document對象

?

6.2 Element對象

?

6.3 Attribute對象

?

7. 常用方法補充

方法名描述
Element元素對象.setText()設置元素的值
Element元素對象.setTextContent()設置元素的值,和setText()效果一樣

取標簽元素的值補充:

取標簽元素得值有兩種思路,1.先attribute("name")取得標簽元素中name屬性的對象,然后再getText()來獲取該屬性元素的值

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.使用attributeValue("屬性名"),直接用標簽元素調用該方法獲取其屬性名對應值

設置屬性的值補充:

設置屬性的值有兩種思路,1.先attribute("name")取得標簽元素中name屬性的對象,然后再setText()來設置該屬性元素的值

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.使用setAttributeValue("屬性名","值"),直接用標簽元素調用該方法設置其屬性名和其對應值

?

8. 解析讀取XML文檔思路

DOM4J不像DOM一樣直接獲取整個DOM樹,想讀取哪個標簽的內容都可以直接訪問到,DOM4J需要一層一層的讀取來訪問這些數據

?

9.DOM4J解析XML實例

代碼:

public class DOM4J解析XML {public static void main(String[] args) throws DocumentException, IOException {//創建解析器SAXReader saxReader=new SAXReader();//加載指定XML文件Document doc=saxReader.read("手機信息.xml");//獲得根標簽Element root=doc.getRootElement();//解析XML信息System.out.println(doc.asXML());/*List<Element> brands=root.elements("Brand"); for (Element element : brands) {//element.attribute("name").getValue();String name=element.attributeValue("name");List<Element> types=element.elements("Type");for (Element type : types) {String typeName=type.attributeValue("name");String price=type.getTextTrim();System.out.println("品牌:"+name+" 類型:"+typeName+" 價格:"+price);}}*///添加節點:Element newBrand=root.addElement("Brand");//<Brand></Brand>newBrand.setAttributeValue("name", "小米");//<Brand name="小米"></Brand>Element newType=newBrand.addElement("Type");//<Brand name="小米"><Type></Type></Brand>newType.setAttributeValue("name", "mi10");//<Brand name="小米"><Type name="mi10"></Type></Brand>newType.setText("1999元");//<Brand name="小米"><Type name="mi10">1999元</Type></Brand>//修改節點:newType.setAttributeValue("name", "mi11");newType.setText("3999元");//newBrand.remove(newType);newType.getParent().remove(newType);//刪除節點:newType.remove(newType.attribute("name"));newType.setText("");//remove(Text對象);//保存XML文件OutputFormat format=OutputFormat.createPrettyPrint();format.setEncoding("UTF-8");XMLWriter xmlWriter=new XMLWriter(new FileOutputStream("新手機信息.xml"), format);xmlWriter.write(doc);xmlWriter.close();} }

?

XML文件:

<!-- 手機信息.xml --> <?xml version="1.0" encoding="UTF-8" ?> <PhoneInfo><Brand name="華為"><Type name="P90">5000元</Type></Brand><Brand name="蘋果"><Type name="iPhone Z">18000元</Type><Type name="iPhone ZL">12000元</Type></Brand> </PhoneInfo><!-- 新的手機信息.xml --> <?xml version="1.0" encoding="UTF-8"?><PhoneInfo> <Brand name="華為"> <Type name="P90">5000元</Type> </Brand> <Brand name="蘋果"> <Type name="iPhone Z">18000元</Type> <Type name="iPhone ZL">12000元</Type> </Brand> <Brand name="小米"/> </PhoneInfo>

?

10. XML,DOM,DOM4J總結

總結

以上是生活随笔為你收集整理的使用DOM4J读取和维护XML数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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