Java使用DOM4j实现读写XML文件的属性和元素

时间:2021-05-20

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 } }

可以修改属性的文本内容:

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 } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章