java dom4j 写xml_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("City"));

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

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值