java jdom 解析CDATA内容

java

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 jdom 解析CDATA内容 的全部内容, 来源链接: utcz.com/z/390193.html

回到顶部