使用DOM4J读取和维护XML数据
生活随笔
收集整理的這篇文章主要介紹了
使用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数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么把大白菜系统装进优盘 大白菜系统如何
- 下一篇: u深度u盘启动器怎么做 u盘启动器制作教