public LinkedHashMap<Object, Object> getXmlToMap(String filename) {
LinkedHashMap<Object, Object> areahashmap = new LinkedHashMap<Object, Object>();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File(filename));
Element rootElement = document.getDocumentElement();
NodeList list = rootElement.getElementsByTagName("data");
for (int i = 0; i < list.getLength(); i++) {
String areacode = null;
String areaname = null;
Element element = (Element) list.item(i);
NodeList codeList = element.getElementsByTagName("code");
for (int j = 0; j < codeList.getLength(); j++) {
Text text = (Text) codeList.item(j).getFirstChild();
areacode = text.getData();
}
NodeList nameList = element.getElementsByTagName("name");
for (int j = 0; j < nameList.getLength(); j++) {
Text text = (Text) nameList.item(j).getFirstChild();
areaname = text.getData();
}
areahashmap.put(areacode, areaname);
}
} catch (Exception e) {
System.out.println("exception:" + e.getMessage());
}
return areahashmap;
}
说明:此例将读取给定的filename xml文件,返回一个LinkedHashMap。
注:filename为文件名,文件存放位置默认为根目录,即项目目录下。也可指定对决路径的url,如c:\\abc.xml