日期:2014-05-18  浏览次数:20707 次

求救:寻找java解析xml高手?

有如下1.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<books>  
  <book email="zeh7@126.com">123</book>
  <book email="231@126.com">3</book>
 <book email="2dad007@126.com">235</book>
</books>
通过解析够把数据输入到页面

------解决方案--------------------
通过dom4j或者sax解析,把得到的结果直接保存到一个ArrayList中,传到页面中就可以了.
------解决方案--------------------
我比较喜欢通过dom4j解析
------解决方案--------------------
jdom dom4j都可以的
------解决方案--------------------
优选xslt,还可以选择 DOM 处理就可以
------解决方案--------------------
public static Map parseXml(String path) throws Exception{
Map map = new HashMap<String,String>();

// XML初始化
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(path);

// 得到跟节点
Element root = doc.getDocumentElement();

// 取得各个book节点
NodeList bookList = root.getElementsByTagName("book");
for(int i=0;i<bookList.getLength();i++){
Element elt = (Element)bookList.item(i);

//取得email属性
String email = elt.getAttribute("email");
//取得name属性
String name = elt.getFirstChild().getNodeValue();

map.put(email, name);

System.out.println(email+":::"+name);
}
return map;
}

------解决方案--------------------
引用楼主 a184866884 的帖子:

有如下1.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book email="zeh7@126.com">123 </book>
<book email="231@126.com">3 </book>
<book email="2dad007@126.com">235 </book>
</books>
通过解析够把数据输入到页面