標籤:
項目會用到下面兩個jar包
package com.xml.writer;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.xml.sax.XMLReader;
public class XmlWriter {
public static void main(String[] args) {
// TODO 自動產生的方法存根
//xmlWriter();
xmlReader();
}
//已知標記符的名字,解析xml
private static void xmlReader() {
// TODO 自動產生的方法存根
SAXReader reader = new SAXReader();
Document doc;
try {
doc = reader.read(new File("xml.xml"));
//讀取xml檔案,擷取Document對象
Element root=doc.getRootElement();//擷取根節點
System.out.println(root.getName());
List<Element> list=root.elements();//擷取該節點的子節點
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i).getName());//節點名
System.out.println(list.get(i).getText());//節點值
}
} catch (DocumentException e) {
// TODO 自動產生的 catch 塊
e.printStackTrace();
}
}
private static void xmlWriter() {
// TODO 自動產生的方法存根
Document doc=DocumentHelper.createDocument();
Element root=DocumentHelper.createElement("student");
doc.add(root);
root.addAttribute("id","1");
Element nameElement=root.addElement("name");
Element sexElement=root.addElement("sex");
nameElement.addText("張三");
sexElement.addText("男");
try {
XMLWriter writer=new XMLWriter(new FileOutputStream("xml.xml"),OutputFormat.createPrettyPrint());
writer.write(doc);
writer.flush();
writer.close();
} catch (Exception e) {
// TODO 自動產生的 catch 塊
e.printStackTrace();
}
}
}
dom4j 簡單一實例,通過java代碼讀,寫xml檔案