<?xml version="1.0" encoding="GB2312" ?> 
<fill version="1.0">
  <items>
    <item name="prodid" value="XXX" /> 
    <item name="orderid" value="DIRECTXXXXXXXXXXX" /> 
    <item name="tranid" value="" /> 
    <item name="resultno" value="0000" /> 
    <item name="" value="" /> 
    <item name="verifystring" value="192ae0099f46de1d71228a5fa00c2d2e" /> 
  </items>
</fill>
eg:取出的格式是String prodid="XXX";就这样的。希望高手能帮忙~~~在线等

解决方案 »

  1.   

    用dom4j.jar包吧;import java.io.ByteArrayInputStream;import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;public class DomDemo {
        public static void main(String[] args) throws Exception {
            String xml = "<?xml version=\"1.0\" encoding=\"GB2312\" ?>\n" + "<fill version=\"1.0\">\n" + " <items>\n"
                    + "  <item name=\"prodid\" value=\"XXX\" />\n"
                    + "  <item name=\"orderid\" value=\"DIRECTXXXXXXXXXXX\" />\n"
                    + "  <item name=\"tranid\" value=\"\" />  \n" + "  <item name=\"resultno\" value=\"0000\" />\n"
                    + "  <item name=\"\" value=\"\" />  \n"
                    + "  <item name=\"verifystring\" value=\"192ae0099f46de1d71228a5fa00c2d2e\" />\n" + "  </items>\n"
                    + "</fill>\n";        SAXReader reader = new SAXReader();
            Document doc = reader.read(new ByteArrayInputStream(xml.getBytes()));
            for (Object itemsObj : doc.getRootElement().elements("items")) {
                for (Object itemObj : ((Element) itemsObj).elements("item")) {
                       Element item = (Element) itemObj;
                       if("prodid".equals(item.attributeValue("name"))){
                           String prodid = item.attributeValue("value");
                           System.out.println("prodid="+prodid);
                       }
                }
            }
        }
    }
      

  2.   

    用dom4j解析:
    Document doc=DocumentHelper.parseText("xml字符串");//生成document的对象
    List<Element> itemsList=doc.getRootElement().elements("items");
    for(Element e:itemsList){
         List<Attribute> aList=e.attributes();
                 for(Attribute a:aList){
                 System.out.print(a.getName());
                 System.out.print(a.getValue());
                 }
    }