欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-03 23:45:40
dom4可以读取和添加xml文件的属性或者元素 读取属性: public static void readattributes() throws documen...

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

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