其中:SAXReader是dom4j提供的XML解析器,可以读取文件中的内容,转成一个Document
假设从<parent>元素下查找子元素<id>的值,共有三种方法
1)取值时注意两边的空白
String name=x_root.elementTest("name").trim();
2)由于XML只存储文本,所以在读取Test之后,需要自己转成int,boolean或其他类型的变量
例如:
s.id = Integer.valueOf( ex.element("id").getText());3)取值时一般要注意null的判断
Element sex=x_root.element("sex"); if(sex!=null) { String text=sex.getText(); s.sex=text.equals("male"); }
4)注意关闭文件句柄 (高级话题)
在Java程序里,所有的文件FileInputStream/FileOutputStream在用完之后,都得确保close掉。否则会引起句柄泄露。
public static Document parseXmlDocument(File xmlFile) throws Exception { FileInputStream inputStream = new FileInputStream(xmlFile); try { SAXReader xmlReader = new SAXReader(); Document doc = xmlReader.read(inputStream); return doc; }finally { // 确保关闭文件句柄 try{ inputStream.close(); }catch(Exception e) {} } }