下面具体看代码
提供一个模版XML文件做解析用
<?xml version="1.0" encoding="UTF-8"?> <employees> <employee> <name>Wells Mao</name> <sex>male</sex> <age>21</age> </employee> </employees>
下面是Java解析类
public class XMLReader{ public void parserXml(String fileName) { File inputXml = new File(fileName); SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(inputXml); Element employees = document.getRootElement(); for (Iterator i = employees.elementIterator(); i.hasNext();) { Element employee = (Element) i.next(); for (Iterator j = employee.elementIterator(); j.hasNext();) { Element node = (Element) j.next(); if (node.elements().size() > 0) { // 大于0说明有多个子节点 System.out.println("有多个子节点"); //do something yourself } else { System.out.println(node.getName() + ":" + node.getText()); } } } } catch (DocumentException e) { System.out.println(e.getMessage()); } System.out.println("dom4j parserXml"); } }
最后是上面类的调用方法
public static void main(String[] args) { XMLReader xReader = new XMLReader(); xReader.parserXml("ismyxml.xml"); // 注意这里的xml文件位于项目根目录下,具体路径可以修改 }