xml:<?xml version="1.0" encoding="gb2312"?>
<students>
<name>Jone</name>
<age>20</age>
<country>USA</country>
</students>
请问这个如何用Java解析?
最好能给出代码,谢谢啦
<students>
<name>Jone</name>
<age>20</age>
<country>USA</country>
</students>
请问这个如何用Java解析?
最好能给出代码,谢谢啦
* 用于将XML串解析成LIST的通用方法
* @param String
* @return List
*/
public List <HashMap <String, String>> XMLToList(String XMLStr){
List <HashMap <String, String>> XMLList = new ArrayList <HashMap <String, String>>();
if(XMLStr!=null&&(!"".equals(XMLStr.trim()))&&(!"error".equals(XMLStr.trim())))
{
try {
Document document = DocumentHelper.parseText(XMLStr);//将XML串进行解析
Element root = document.getRootElement();//取得根结点 for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
HashMap <String, String> hashMap = new HashMap <String, String>();
Element element = (Element) i.next();//取得各条记录
for(Iterator j = element.elementIterator(); j.hasNext();){
Element ele = (Element) j.next();//取得各条记录里的各个字段
//System.out.print("name="+ele.getName()+"; ");
//System.out.println("value="+ele.getStringValue());
hashMap.put(ele.getName(), ele.getStringValue().trim());
}
XMLList.add(hashMap); } } catch (DocumentException e) {
e.printStackTrace();
}
}else{
return null;
} return XMLList;
} 我在另一个提问中回答过.你把我的方法改改就可以用于你自己的了.
http://blog.csdn.net/yhjhoo/archive/2009/06/25/4297720.aspx
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
public class MyXMLReader2DOM4J {
public static void main(String arge[]) {
long lasting = System.currentTimeMillis();
try {
File f = new File("data_10k.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) {
foo = (Element) i.next();
System.out.print("车牌号码:" + foo.elementText("NO"));
System.out.println("车主地址:" + foo.elementText("ADDR"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
public class MyXMLReader2JDOM {
public static void main(String arge[]) {
long lasting = System.currentTimeMillis();
try {
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File("data_10k.xml"));
Element foo = doc.getRootElement();
List allChildren = foo.getChildren();
for (int i = 0; i < allChildren.size(); i++) {
System.out.print("车牌号码:"+ ((Element) allChildren.get(i)).getChild("NO").getText());
System.out.println("车主地址:"+ ((Element) allChildren.get(i)).getChild("ADDR").getText());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}