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 jdom 解析CDATA内容的更多相关文章
- Java jdom解析xml文件带冒号的属性
Java jdom解析xml文件带冒号的属性 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/99644824 本文出自:[奥特曼超人 ...
- JAVA JDOM解析XML 带CDATA数据
import java.io.StringReader;import java.util.*; import org.jdom.Document;import org.jdom.Element;imp ...
- Java解析XML:Jdom解析和SAX解析
今天看了Java解析XML的几种方法,记录一下 1.Jdom解析 (1)读取XML内容 private static void readXML() { // TODO Auto-generated m ...
- java xml解析方式(DOM、SAX、JDOM、DOM4J)
XML值可扩展标记语言,是用来传输和存储数据的. XMl的特定: XMl文档必须包含根元素.该元素是所有其他元素的父元素.XML文档中的元素形成了一颗文档树,树中的每个元素都可存在子元素. 所有XML ...
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...
- XML文件解析之JDOM解析
1.JDOM介绍 JDOM的官方网站是http://www.jdom.org/,JDOM解析用到的jar包可以在http://www.jdom.org/dist/binary/中下载,最新的JDOM2 ...
- Javaweb学习笔记——使用Jdom解析xml
一.前言 Jdom是什么? Jdom是一个开源项目,基于树形结构,利用纯java的技术对XML文档实现解析,生成,序列化以及多种操作.它是直接为java编程服务,利用java语言的特性(方法重载,集合 ...
- 摘抄的 JAVA JDOM 操作XML文件
JDOM修炼篇 用过XERCES的程序员都会感到,有时候用一句话就可以说清楚的事,当用XERCES的API来实现时,要三四行程序. 回页首 获得并安装JDOM 在 http://www.jdom. ...
- Java XML解析器
使用Apache Xerces解析XML文档 一.技术概述 在用Java解析XML时候,一般都使用现成XML解析器来完成,自己编码解析是一件很棘手的问题,对程序员要求很高,一般也没有专业厂商或者开源组 ...
随机推荐
- datatable详解(angular-datatable)+后台分页(springmvc)
datable常规配置,百度一大堆 function prepareDatatable(selector, options) { var defaultOptions = { autoWidth: t ...
- Github+Jekyll —— 创建个人免费博客(五)jekyllproject公布到github上
摘要: 本文中我将介绍一下怎样在github上搭建个人Blog(博客),也顺便让我们掌握一下github Pages功能,另外还涉及到Jekyll技术. ======================= ...
- SQLServer------数据类型在C#中的转换
SQL C#tinyint bytesmallint Int16char stringint int
- 你真的搞懂ES6模块的导入导出规则了吗
前言 模块作为ES6规范的核心部分之一,在实际项目开发中经常会看到它的身影,那么我们是否真正了解它的相关规则呢,今天就带大家一起了解一下模块的导入导出规则 导入 ES6模块的导入(即import)大致 ...
- 1-1、superset开发环境搭建
在对superset进行二次开发的过程中,往往需要搭建本地开发环境,修改后立即看到效果,下面我们就讲下开发环境的搭建. 1.打开PyCharm,在菜单栏上执行VCS-->Checkout fro ...
- Docker(1)在CentOS上的安装与卸载
一. Docker的安装 CentOS7 上安装: 1. 卸载旧版本 $ sudo yum remove docker \ docker-client \ docker-client-latest ...
- SQL 使用序列
SQL 使用序列 序列是根据需要产生的一组有序整数:1, 2, 3 ... 序列在数据库中经常用到,因为许多应用要求数据表中的的每一行都有一个唯一的值,序列为此提供了一种简单的方法. 本节阐述在 My ...
- XE10 塔建 Android 开发环境 (已测试通过)
XE10 塔建 Android 开发环境 1. E:\DevCSS\Android\adt-bundle-windows-x86-20131030\adt-bundle-windows-x86-201 ...
- visual studio 常识
去掉 引用提示 文本编辑器=>所有语言=>codelens
- 通过python3学习编码
简介 今天在写python程序的时候,遇到了编码问题,今天,我准备好好了解一下编码问题 ASCII编码 计算机是美国人发明的,最初只有不超过256字符需要编码,1字节能编码2**8个,所以ASCII编 ...