xml:<?xml version="1.0" encoding="gb2312"?>
<students>
  <name>Jone</name>
  <age>20</age>
  <country>USA</country>
</students>
请问这个如何用Java解析?
最好能给出代码,谢谢啦

解决方案 »

  1.   

    /** 
    * 用于将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; 
    } 我在另一个提问中回答过.你把我的方法改改就可以用于你自己的了.
      

  2.   

    对了,忘记告诉你了,我是用dom4j解析的,还要导入dom4j的包.这个去网上下
      

  3.   

    这个xml用jdom或dom4j都行,很简单。
      

  4.   

    顶1楼楼主用JDOM也行原理差不多
      

  5.   

    建议你用jdom,这么简单的我就不给你写了给你看一下我以前解析的一个xml文件
    http://blog.csdn.net/yhjhoo/archive/2009/06/25/4297720.aspx
      

  6.   

    DOM4J实现方法 
    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(); 
      } 


      

  7.   

    JDOM实现方法 
    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(); 
      } 


      

  8.   

    dom4j是个不错的选择,结合使用xpath,解析起来很方便。