使用dom4j解析xml
阿新 • • 發佈:2017-05-11
iterator 問題 getclass etc tac iter throws xml文件 encoding
一.代碼(java代碼):
1. 使用InputStream:
/** * 02 * 使用此種方式獲得InputStream, * xml目錄只能在src下(可以在src下新建文件夾); */ @Test public void testParseXml02() { InputStream in = ParseXml.class.getClassLoader().getResourceAsStream("config"+File.separator+"testxml.xml"); try { SAXReader reader= new SAXReader(); Document doc = reader.read(in);
//獲得根標簽 Element root = doc.getRootElement(); Element em ;
//value 為二級標簽,name和password為value內標簽 for(Iterator<?> i = root.elementIterator("value"); i.hasNext();){ em= (Element) i.next(); System.out.println(em.elementText("name")); System.out.println(em.elementText("password")); } } catch (DocumentException e) { e.printStackTrace(); } }
2. 使用new File:
/** * 02 * 使用此種方式解析 * 使用 new File*/ @Test public void testParseXml01() throws FileNotFoundException { // System.getProperty("user.dir") 是動態獲得當前文件的路徑 File file = new File(System.getProperty("user.dir")+File.separator+"xmlOfConfig"+File.separator+"testxml.xml"); try { SAXReader reader = new SAXReader(); Document doc = reader.read(file); Element root = doc.getRootElement(); Element em ; for(Iterator<?> i = root.elementIterator("value"); i.hasNext();){ em = (Element) i.next(); System.out.println(em.elementText("name")); System.out.println(em.elementText("password")); } } catch (DocumentException e) { e.printStackTrace(); } }
二.附(xml代碼及位置示意)
1. xml文件:
<?xml version=‘1.0‘ encoding=‘utf-8‘?> <document> <name>qq</name> <password>123</password> </document>
2. xml文件所在包中位置示意:
小菜鳥一枚,以上代碼有問題之處歡迎指正,學習ing。
使用dom4j解析xml