Java使用DOM4j實(shí)現(xiàn)讀寫XML文件的屬性和元素
DOM4可以讀取和添加XML文件的屬性或者元素
讀取屬性:
public static void ReadAttributes() throws DocumentException { File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); try { for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { Element element = (Element) iterator.next(); String CustomerID = element.attributeValue("CustomerID"); System.out.println("CustomerID = " + CustomerID); String CompanyName = element.attributeValue("CompanyName"); System.out.println("CompanyName = " + CompanyName); System.out.println("ContactName = " + element.attributeValue("ContactName")); System.out.println("ContactTitle = " + element.attributeValue("ContactTitle")); System.out.println("Address = " + element.attributeValue("Address")); System.out.println("City = " + element.attributeValue("Cit阿y")); System.out.println("PostalCode = " + element.attributeValue("PostalCode")); System.out.println("Country = " + element.attributeValue("Country")); System.out .println("Phone = " + element.attributeValue("Phone")); System.out.println("Fax = " + element.attributeValue("Fax")); System.out .println("--------------------------------------------------------\t"); } } catch (Exception e) { // TODO: handle exception } }
讀取元素:
public static void ReadInnerTest() throws DocumentException { File file = new File("D:\\cmz\\java\\XMLTest\\Customer1.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); try { for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { Element type = (Element) iterator.next(); System.out.println(type.elementText("CustomerID")); System.out.println(type.elementText("CompanyName")); System.out.println(type.elementText("ContactName")); System.out.println(type.elementText("ContactTitle")); System.out.println(type.elementText("Address")); System.out.println(type.elementText("City")); System.out.println(type.elementText("PostalCode")); System.out.println(type.elementText("Country")); System.out.println(type.elementText("Phone")); System.out.println(type.elementText("Fax")); System.out.println("---------------------------------\t"); } } catch (Exception e) { // TODO: handle exception } }
寫入屬性:
public static void WriteAttributes() { Document doc = DocumentHelper.createDocument(); Element ele = doc.addElement("table"); for (int i = 1; i < 5; i++) { Element Customers = ele.addElement("Customers"); Customers.addAttribute("CustomerID", "ALFKI" + i); Customers.addAttribute("CompanyName", "Alfreds Futterkiste" + i); Customers.addAttribute("ContactName", "Maria Anders" + i); Customers.addAttribute("ContactTitle", "Sales Representative" + i); Customers.addAttribute("Address", "Obere Str. 57"); Customers.addAttribute("City", "beijin"); Customers.addAttribute("PostalCode", "12209"); Customers.addAttribute("Country", "Germany"); Customers.addAttribute("Phone", "030-0074321"); Customers.addAttribute("Fax", "030-0076545"); try { XMLWriter writer = new XMLWriter(new FileWriter(new File( "Customertest.xml"))); writer.write(doc); writer.close(); } catch (Exception e) { // TODO: handle exception } } }
寫出元素:
public static void writeInnerTest(){ Document doc = DocumentHelper.createDocument(); Element ele = doc.addElement("table"); for (int i = 1; i < 5; i++) { Element Customers = ele.addElement("row"); Element CustomerID = ele.addElement("CustomerID"); CustomerID.setText("ALFKI" + i); Element CompanyName = ele.addElement("CompanyName"); CompanyName.setText("Alfreds Futterkiste" + i); Element ContactName = ele.addElement("ContactName"); ContactName.setText("Maria Anders" + i); Element ContactTitle = ele.addElement("ContactTitle"); ContactTitle.setText("Sales Representative" + i); Element Address = ele.addElement("Address"); Address.setText("Obere Str. 57"); Element City = ele.addElement("City"); City.setText("beijin"); Element PostalCode = ele.addElement("PostalCode"); PostalCode.setText("12209"); Element Country = ele.addElement("Country"); Country.setText("Germany"); Element Phone = ele.addElement("Phone"); Phone.setText("030-0074321"); Element Fax = ele.addElement("Fax"); Fax.setText("030-0076545"); } try { XMLWriter writer = new XMLWriter(new FileWriter(new File( "Customertest2.xml"))); writer.write(doc); writer.close(); } catch (Exception e) { // TODO: handle exception } }
可以修改屬性的文本內(nèi)容:
public static void ReadUpdateattribute() throws DocumentException{ File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml"); SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); try { for (Iterator iterator = root.elementIterator("Customers"); iterator.hasNext();) { Element element = (Element) iterator.next(); String name = "ALFKI1"; if (name.equals(element.attributeValue("CustomerID")) ) { Attribute attr = element.attribute("CustomerID"); attr.setValue("234"); Element ContactName = element.addElement("23424"); ContactName.setText("676767" ); } } XMLWriter writer = new XMLWriter(new FileOutputStream(file)); writer.write(doc); ReadAttributes(); } catch (Exception e) { // TODO: handle exception } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot?表單提交全局日期格式轉(zhuǎn)換器實(shí)現(xiàn)方式
這篇文章主要介紹了SpringBoot?表單提交全局日期格式轉(zhuǎn)換器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected
這篇文章主要介紹了解決Eclipse配置Tomcat出現(xiàn)Cannot create a server using the selected type錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2017-02-02詳解Spring?中?Bean?對(duì)象的存儲(chǔ)和取出
由于?Spring?擁有對(duì)象的管理權(quán),所以我們也需要擁有較為高效的對(duì)象存儲(chǔ)和取出的手段,下面我們來分別總結(jié)一下,對(duì)Spring?中?Bean?對(duì)象的存儲(chǔ)和取出知識(shí)感興趣的朋友跟隨小編一起看看吧2022-11-11MyBatis?詳細(xì)講解動(dòng)態(tài)?SQL的使用
動(dòng)態(tài)?SQL?是?MyBatis?的強(qiáng)大特性之一。如果你使用過?JDBC?或其它類似的框架,你應(yīng)該能理解根據(jù)不同條件拼接?SQL?語句有多痛苦,例如拼接時(shí)要確保不能忘記添加必要的空格,還要注意去掉列表最后一個(gè)列名的逗號(hào)。利用動(dòng)態(tài)?SQL,可以徹底擺脫這種痛苦2022-04-04解決IDEA集成Docker插件后出現(xiàn)日志亂碼的問題
這篇文章主要介紹了解決IDEA集成Docker插件后出現(xiàn)日志亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11一文搞懂如何實(shí)現(xiàn)Java,Spring動(dòng)態(tài)啟停定時(shí)任務(wù)
定時(shí)任務(wù)的應(yīng)用場(chǎng)景十分廣泛,如定時(shí)清理文件、定時(shí)生成報(bào)表、定時(shí)數(shù)據(jù)同步備份等。本文將教你實(shí)現(xiàn)Java、Spring動(dòng)態(tài)啟停定時(shí)任務(wù),感興趣的可以學(xué)習(xí)一下2022-06-06