一.代码(java代码):
1. 使用字符串路径:
/** * 01 * 使用此种方式 目录路径从根目录开始 */ @Test public void testParseXml03() { try { SAXReader reader = new SAXReader(); Document doc = reader.read("src/config"+File.separator+"testxml.xml"); 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 (Exception e) { e.printStackTrace(); } }
2. 使用new File:
/** * 02 * 使用此种方式解析 * 使用 new File */ @Test public void testParseXml01() { // System.getProperty("user.dir") 是动态获得当前文件的路径 // File file = new File(System.getProperty("user.dir")+File.separator+"xmlOfConfig"+File.separator+"testxml.xml"); File file; try { file = new File("xmlOfConfig"+File.separator+"testxml.xml"); 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 (Exception e) { e.printStackTrace(); } }
3. 使用InputStream:
/** * 03 * 使用此种方式获得InputStream, * xml目录只能在src下(可以在src下新建文件夹); */ @Test public void testParseXml02() {
// config目录和根目录等价,由于使用new source folder创建 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 ; 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 (Exception e) { e.printStackTrace(); } }
二.附(xml代码及位置示意)
1. xml文件:
<?xml version='1.0' encoding='utf-8'?>
<document>
<value>
<name >qq</name>
<password>123</password>
</value>
</document>
2. xml文件所在包中位置示意:
小菜鸟一枚,以上代码有问题之处欢迎指正,学习ing。