java如何解析传来的xml字符串

来源:互联网 发布:win7打开23端口 编辑:程序博客网 时间:2024/05/21 19:26

需要:dom4j-1.6.1.jar


代码:

package jiexixml;


import java.util.Iterator;    
import java.util.List;    
import org.dom4j.Document;    
import org.dom4j.DocumentException;    
import org.dom4j.DocumentHelper;    
import org.dom4j.Element;    
    
public class xmlchang{    
    
    public static void main(String[] args) {               
        String v_strXML = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
                "<Result xmlns=\"http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">"+"<PAGE><YSLDH>222222</YSLDH><YSLDLXM>预受理单号</YSLDLXM></PAGE>"+
        "<DATA>"+
                "<row resultcount=\"1\">"+
                   "<users_id>1001     </users_id>"+
                   "<users_name>wangwei   </users_name>"+
                   "<users_group>80        </users_group>"+
                   "<users_address>1001号   </users_address>"+
                "</row>"+
                "<row resultcount=\"2\">"+
                   "<users_id>1002     </users_id>"+
                   "<users_name>wangwei   </users_name>"+
                   "<users_group>80        </users_group>"+
                   "<users_address>1002号   </users_address>"+
                "</row>"+"</DATA>"+
             "</Result>";
        Document doc = null;    
        try {    
            doc = DocumentHelper.parseText(v_strXML);    
        } catch (DocumentException e2) {    
            // TODO 自动生成 catch 块    
            e2.printStackTrace();    
        }    
        Element root = doc.getRootElement();// 指向根节点    
        try {    
            List<Element> lstTime = root.elements("PAGE");// 所有的Item节点    
            for (int i = 0; i < lstTime.size(); i++) {    
                Element etime = (Element) lstTime.get(i);  
                Element start = etime.element("YSLDH");    
                Element end = etime.element("YSLDLXM");    
                System.out.println("start.getTextTrim()=" + start.getTextTrim());    
                System.out.println("end.getTextTrim()=" + end.getTextTrim());    
            }      
        } catch (Exception e) {    
            e.printStackTrace();    
        }
        try {    
            Element lstTime = root.element("PAGE");// 所有的Item节点    
            Element start = lstTime.element("YSLDH");    
            Element end = lstTime.element("YSLDLXM");
            System.out.println("start.getTextTrim()=" + start.getTextTrim());    
            System.out.println("end.getTextTrim()=" + end.getTextTrim());
        }catch(Exception e){
        e.printStackTrace();
        }
        
        
        try {    
            Element lstTime = root.element("DATA");// 所有的Item节点    
            List kk =lstTime.elements("row");
            Iterator iterator =kk.iterator();
            while(iterator.hasNext()){
            Element k1 = (Element)iterator.next();
            Element users_id=k1.element("users_id");
            Element users_name=k1.element("users_name");
            Element users_group=k1.element("users_group");
            Element users_address=k1.element("users_address");
            System.out.println(users_id.getTextTrim());
            System.out.println(users_name.getTextTrim());
            System.out.println(users_group.getTextTrim());
            System.out.println(users_address.getTextTrim());
            }
            
            List<Element> picLinks = root.selectNodes("//row[@resultcount='1']");
            for(Element e:picLinks){          
            System.out.println(e.element("users_id").getTextTrim());
            }
        }catch(Exception e){
        e.printStackTrace();
        }
    }
}


        
    

原创粉丝点击