zoukankan      html  css  js  c++  java
  • 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 = 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 = (CDATA) o;
                    result = cdata.getText();
                    System.out.println("CDATA     = " + result); 
                } else if (o instanceof DocType) {  
                    DocType docType = (DocType) o;  
                    System.out.println("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实现 LeetCode 155 最小栈
    Java实现 LeetCode 155 最小栈
    Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)
    Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)
    Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)
    IsBadStringPtr、IsBadWritePtr
    IPicture、BITMAP、HBITMAP和CBitmap的关系
    DrawDibDraw函数的使用方法
    第二章排错的工具:调试器Windbg(上)
    第二章排错的工具:调试器Windbg(下)
  • 原文地址:https://www.cnblogs.com/renjie0520/p/6105230.html
Copyright © 2011-2022 走看看