主要使用dom4j的SAXReader
1、pom引入dom4j

<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency>
2、测试的xml文件

<?xml version="1.0" encoding="UTF-8"?> <bookMarks> <bookMark> <name>Unix时间戳</name> <url>http://tools.sharejs.com/unixtime.html</url> </bookMark> <bookMark> <name>图片Base64编码</name> <url>http://www.bejson.com/ui/image2base64/</url> </bookMark> </bookMarks>
3、读取xml内容的功能代码

public static Map<String, String> getElements(String file) throws DocumentException{ List<Element> elements; Map<String,String> map = new HashMap<>(); Document document = DocumentHelper.createDocument(); SAXReader saxReader = new SAXReader(); document = saxReader.read(new File(file)); elements = document.getRootElement().elements(); for(Element element:elements){ map.put(element.elementText("name"), element.elementText("url")); } return map; }
4、测试代码

public static void main(String[] args){ Map<String, String> bmarks = new HashMap<>(); try { bmarks = MyXmlParser.getElements("bookmark.xml"); for (Map.Entry<String, String> entry: bmarks.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
输出为:
图片Base64编码 : http://www.bejson.com/ui/image2base64/
可视化布局 : http://www.bootcss.com/p/layoutit/