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
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
-
图灵测试还重要吗?
2026-05-19栏目: 教程
-
Excel表格中的柱状图上如何添加平均线?
2026-05-19栏目: 教程
-
嘉益仕MES教你如何搞定精细化管理
2026-05-19栏目: 教程
-
Kotlin的分享
2026-05-19栏目: 教程
-
腾讯发布智慧社区标准化解决方案,目前已覆盖超过7000个小区
2026-05-19栏目: 教程
