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-->需要創(chuàng)建實(shí)現(xiàn)這個DefaultHandler接口的實(shí)現(xiàn)類Dom4j通過SAX獲得document對象:
SAXReader reader = new SAXReader();
Document doc = reader.read(input); input------>讀取xml文件的內(nèi)容
..............................................................................................................................................................................
回顯或?qū)懭離ml內(nèi)容
OutputFormat format = OutputFormat.createPRettyPrint();
//設(shè)置輸出編碼
format.setEncoding(
"UTF-8"
);
//創(chuàng)建需要寫入的File對象
File file =
new
File(
"D:"
+ File.separator +
"books.xml"
);
//生成XMLWriter對象,構(gòu)造函數(shù)中的參數(shù)為需要輸出的文件流和格式
XMLWriter writer =
new
XMLWriter(
new
FileOutputStream(file), format);
//開始寫入,write方法中包含上面創(chuàng)建的Document對象
writer.write(doc);
..............................................................................................................................................................................
另外, dom4j支持xpath的(查詢)操作.
dom4j的下載地址為: https://sourceforge.net/projects/dom4j/files/dom4j/
新聞熱點(diǎn)
疑難解答