首页 > 代码库 > java jdom 解析CDATA内容

java jdom 解析CDATA内容

package com;

import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import org.jdom.CDATA;
import org.jdom.Comment;
import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.EntityRef;
import org.jdom.JDOMException;
import org.jdom.ProcessingInstruction;
import org.jdom.Text;
import org.jdom.input.SAXBuilder;

public class test {
	public static void main(String[] args){
		String xml =  
            "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +  
            "<SrvCont>" +  
            "<SrvRoot>"+
            "<![CDATA[" +  
            "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +  
            "<Item><ItemId>seqInit</ItemId><ItemValue>20161126BLUS3110000001</ItemValue></Item>" +  
            "<Item><ItemId>content</ItemId><ItemValue>测试内容</ItemValue></Item>" +  
            "<Item><ItemId>resion</ItemId><ItemValue>测试</ItemValue></Item>" +  
            "]]></SrvRoot></SrvCont>";  

    SAXBuilder builder = new SAXBuilder();  
    try {  
        Document document = builder.build(new StringReader(xml));  
        Element root = document.getRootElement();  
        Element data = http://www.mamicode.com/root.getChild("SrvRoot");  

        //  
        // Reading the mixed content of an xml element and iterate  
        // the result list. This list object can contains any of the  
        // following objects: Comment, Element, CDATA, DocType,  
        // ProcessingInstruction, EntityRef and Text.  
        //  
        List content = data.getContent();  
        String result = "";
        for (Object o : content) {  
            if (o instanceof Comment) {  
                Comment comment = (Comment) o;  
                System.out.println("Comment   = " + comment);  
            } else if (o instanceof Element) {  
                Element element = (Element) o;  
                System.out.println("Element   = " + element);  
            } else if (o instanceof CDATA) {  
                CDATA cdata = http://www.mamicode.com/(CDATA) o;"CDATA     = "http://www.mamicode.com/+ result); "DocType   = " + docType);  
            } else if (o instanceof ProcessingInstruction) {  
                ProcessingInstruction pi = (ProcessingInstruction) o;  
                System.out.println("PI        = " + pi);  
            } else if (o instanceof EntityRef) {  
                EntityRef entityRef = (EntityRef) o;  
                System.out.println("EntityRef = " + entityRef);  
            } else if (o instanceof Text) {  
                Text text = (Text) o;  
                System.out.println("Text      = " + text);  
            }  
        }  
    } catch (JDOMException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
	}
	
	
}

  

java jdom 解析CDATA内容