Test.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="B00">
<name>西游记</name>
<price>12</price>
</book>
<book id="B01">
<name>哈里波特</name>
<price>10</price>
<memo>这是一本很好看的书。</memo>
</book>
</books>
Test.java
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Test {
public static void main(String args[]) {
//System.out.println(xmlOper("B00","price","Test.xml"));
Map map=xmlOper("B00","Test.xml");
System.out.println(map.get("name")+":"+map.get("price"));
}
public static Map xmlOper(String id, String url) {
// "Test.xml"
File f = new File(url);
SAXReader sr = new SAXReader();
Map map =new HashMap();
String result="";
try {
Document doc = sr.read(f);
Element els = doc.getRootElement();
for (Iterator it = els.elementIterator(); it.hasNext();) {
Element ele = (Element) it.next();
String idx = ele.attribute("id").getValue();
for (Iterator it2 = ele.elementIterator(); it2.hasNext();) {
Element elel = (Element) it2.next();
if (idx.equals(id) ){
map.put(elel.getName(),elel.getText());
}
}
}
} catch (DocumentException e) {
e.printStackTrace();
}
return map;
}
}
输出: 西游记:12