软件编程
位置:首页>> 软件编程>> java编程>> Java使用DOM4j实现读写XML文件的属性和元素

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

作者:程沐喆  发布时间:2021-10-19 00:21:52 

标签:java,DOM4j,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
 }

}

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


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
 }

}

来源:https://www.cnblogs.com/chengmuzhe/p/10127895.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com