DOM4可以读取和添加 文件的属性或者元素

读取属性:

public static void ReadAttributes() throws DocumentException {
  File file = new File(\"D:\\\\cmz\\\\java\\\\ Test\\\\Customertest. \");
  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(\"Contact  = \"
      + element.attributeValue(\"Contact \"));
    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\\\\ Test\\\\Customer1. \");
  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(\"Contact \"));
    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(\"Contact \", \"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 {
     Writer writer = new  Writer(new FileWriter(new File(
      \"Customertest. \")));
    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 Contact  = ele.addElement(\"Contact \");
   Contact .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 {
    Writer writer = new  Writer(new FileWriter(new File(
     \"Customertest2. \")));
   writer.write(doc);
   writer.close();
  } catch (Exception e) {
   // TODO: handle exception
  }
  
  
 }

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

public static void ReadUpdateattribute() throws DocumentException{
  File file = new File(\"D:\\\\cmz\\\\java\\\\ Test\\\\Customertest. \");
  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\" );
    }
        

   }
    Writer writer = new  Writer(new FileOutputStream(file));
   writer.write(doc);
   ReadAttributes();
  } catch (Exception e) {
   // TODO: handle exception
  }
  
 }

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

收藏 打印