创建一个xml ,createXml
package com.sun.demo;
import java.io.FileWriter;
import java.io.Writer;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class XmlCreator {
public void createXml() throws Exception {
// 创建一个空的文档对象
Document doc = DocumentHelper.createDocument();
Element el_rowdata = doc.addElement("ROWDATA");
Element el_row = el_rowdata.addElement("ROW");
Element el_empno = el_row.addElement("EMPNO");
Element el_ename = el_row.addElement("ENAME");
el_empno.setText("7521");
el_ename.setText("史密斯");
Writer w = new FileWriter("src/demo.xml");
OutputFormat opf = OutputFormat.createPrettyPrint();
opf.setEncoding("GBK");
XMLWriter xw = new XMLWriter(w, opf);
xw.write(doc);
xw.close();
}
public static void main(String[] args) throws Exception {
XmlCreator xc = new XmlCreator();
xc.createXml();
}
}
读取xml,ReadXml
package com.sun.demo;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadXml {
public static void readElement() throws Exception {
SAXReader sr = new SAXReader();
Document doc = sr.read("src/EMP.xml");
List list = doc.selectNodes("ROWDATA/ROW/EMPNO");
for (Object obj : list) {
Element el = (Element) obj;
System.out.println(el.getText());
}
}
public static void readAttribute() throws Exception {
SAXReader sr = new SAXReader();
Document doc = sr.read("src/EMP.xml");//相对路径,可以换成自己的绝对路径
List list = doc.selectNodes("ROWDATA/ROW/ENAME/@firstname");
for (Object obj : list) {
Attribute el = (Attribute) obj;
System.out.println(el.getText());
}
}
public static void main(String[] args) throws Exception {
readElement();
}
}
更新xml,UpdateXml
package demo;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class UpdateXml {
public void updateXml() throws IOException, DocumentException {
SAXReader sr = new SAXReader();
String file = "src/EMP.xml";
Document doc = sr.read(file);
List list = doc.selectNodes("ROWDATA/ROW/SAL");
for (Object obj : list) {
Element ele = (Element) obj;
String sal = ele.getText();
double n_sal = 0;
if (sal != null && !sal.equals("")) {
n_sal = Double.parseDouble(sal);
}
ele.setText("" + n_sal * 2);
}
OutputFormat opf = OutputFormat.createPrettyPrint();
opf.setEncoding("GBK");
Writer w = new FileWriter(file);
XMLWriter xw = new XMLWriter(w, opf);
xw.write(doc);
xw.close();
}
public static void main(String[] args) throws DocumentException,
IOException {
UpdateXml txr = new UpdateXml();
txr.updateXml();
}
}
EMP.xml
7499
ALLEN
SALESMAN
7698
1981-2-20
3200.0
300.00
30
7566
JONES
MANAGER
7839
1981-4-2
5950.0
20