xml文檔的解析有兩種方式: 一是DOM解析,一是SAX我們用的是dom4j的解析包,其對DOM和SAX都支持解析.
java自帶以下是DOM解析.
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse("src/students.xml");DOM4J獲取Document對象:SAXReader reader = new SAXReader(); Document doc = reader.read("src/students.xml");.............................................................................................................................
java自帶SAX的解析:
SAXParserFactory factory =SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
parser.parse("src/students.xml",new DefaultHandler()); DefaultHandler-->需要創建實現這個DefaultHandler接口的實現類Dom4j通過SAX獲得document對象:
SAXReader reader = new SAXReader();
Document doc = reader.read(input); input------>讀取xml文件的內容
..............................................................................................................................................................................
回顯或寫入xml內容
OutputFormat format = OutputFormat.createPRettyPrint();
//設置輸出編碼
format.setEncoding(
"UTF-8"
);
//創建需要寫入的File對象
File file =
new
File(
"D:"
+ File.separator +
"books.xml"
);
//生成XMLWriter對象,構造函數中的參數為需要輸出的文件流和格式
XMLWriter writer =
new
XMLWriter(
new
FileOutputStream(file), format);
//開始寫入,write方法中包含上面創建的Document對象
writer.write(doc);
..............................................................................................................................................................................
另外, dom4j支持xpath的(查詢)操作.
dom4j的下載地址為: https://sourceforge.net/projects/dom4j/files/dom4j/
新聞熱點
疑難解答