JDOM 解析xml

来源:互联网 发布:山海关 知乎 编辑:程序博客网 时间:2024/06/04 01:29


import java.io.ByteArrayInputStream;
import java.io.IOException;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;

public class Test1 {

    public static void main(String[] args) {
        
        String part = "<root>"+
                        "<base>"+
                        "<sceneId><![CDATA[118<=>]]></sceneId>"+
                        "<departmentName>市场部</departmentName>"+
                        "<departmentId>null</departmentId>"+
                        "<createUserName>null</createUserName>"+
                        "<activityName>测试1019_全部6人_1个触点_1</activityName>"+
                        "<executeStartTime>2015-10-19</executeStartTime>"+
                        "<executeEndTime>2015-10-22</executeEndTime>"+
                        "<sceneTypeId>普通</sceneTypeId>"+
                        "<onlineScene>null</onlineScene>"+
                        "<activityContent>测试1019_全部6人_1个触点_1</activityContent>"+
                        "</base>"+
                      "</root>";

        getValue(part);
    

    }
    
    public static void getValue(String str){
        System.out.println("cpcc传入报文:" + str);
        StringBuffer xml = new StringBuffer();
        xml.append("<?xml version='1.0' encoding='UTF-8'?>"); //添加头文件
        xml.append(str);
        
        Element root = null;
        try {
            root =getDomBody(xml.toString());
        } catch (JDOMException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        Element base = root.getChild("base"); //解析root下的base节点
        
        String sceneId = base.getChildText("sceneId"); //得到base下的节点
        String departmentName = base.getChildText("departmentName"); //得到base下的节点
        String departmentId = base.getChildText("departmentId"); //得到base下的节点
        String createUserName = base.getChildText("createUserName"); //得到base下的节点
        String activityName = base.getChildText("activityName"); //得到base下的节点
        String executeStartTime = base.getChildText("executeStartTime"); //得到base下的节点
        String executeEndTime = base.getChildText("executeEndTime"); //得到base下的节点
        String sceneTypeId = base.getChildText("sceneTypeId"); //得到base下的节点
        String onlineScene = base.getChildText("onlineScene"); //得到base下的节点
        String activityContent = base.getChildText("activityContent"); //得到base下的节点
        
        
        System.out.println(sceneId+"\n"+departmentName+"\n"+departmentId+"\n"+createUserName+"\n"+activityName+"\n"+executeStartTime+"\n"+executeEndTime+"\n"+sceneTypeId+"\n"+onlineScene+"\n"+activityContent);
        
    }
    
    public static Element getDomBody(String message) throws JDOMException,
        IOException {
        SAXBuilder builder = new SAXBuilder(false);
        ByteArrayInputStream is = new ByteArrayInputStream(message
                .getBytes("utf-8"));
        Document doc = null;
        doc = builder.build(is);
        Element root = doc.getRootElement();
        return root;
    }
}

0 0
原创粉丝点击