评论

收藏

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

编程语言 编程语言 发布于:2021-10-06 15:42 | 阅读数:467 | 评论:0

这篇文章主要为大家详细介绍了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
  }
  
 }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家
原文链接:https://www.cnblogs.com/chengmuzhe/p/10127895.html

关注下面的标签,发现更多相似文章