首页 > 开发 > Java > 正文

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

2024-07-14 08:43:14
字体:
来源:转载
供稿:网友

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

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


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表