现在的软件项目都不是独立的一个项目,都是多系统协调工作。这样的话就涉及到系统间的通讯,通讯就会跟报文传输挂上关系。系统间使用怎样的报文格式进行通讯呢?有的使用固定长度格式报文;有的使用变长格式报文;有的使用 XML格式报告。本场 Chat 主要和大家分享一下 XML 格式报文的解析。Java 是一个开源的语言,本场 Chat 将给大家介绍一下常用的 XML 解析框架及特点。
主要内容:
- XML 的简介及一些常见概念 ;
- Java 内置解析 XML API: DOM、SAX;
- XML 解析框架 JDOM;
- XML 解析框架 DOM4J;
- XML 解析框架 XStream ;
- 总结 。
现在的软件项目都不是独立的一个项目,都是多系统协调工作。这样的话就涉及到系统间的通讯,通讯就会跟报文传输挂上关系。系统间使用怎样的报文格式进行通讯呢?有的使用固定长度格式报文;有的使用变长格式报文;有的使用 XML 格式报告。本分享主要和大家分享一下 XML 格式报文的解析。Java 是一个开源的语言,本分享将给大家介绍一下常用的 XML 解析框架及特点。
- XML 的简介及一些常见概念
- Java 内置解析 XML API: DOM、SAX
- XML 解析框架 JDOM
- XML 解析框架 DOM4J
- XML 解析框架 XStream
- 总结
XML 是 Extensible Markup Language 简称,中文翻译为可扩展标记语言。XML 是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性,给数据集成与交互带来了极大的方便。XML 在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。
XML 可用来描述数据、存储数据、传输数据/交换数据。
XML 文档节点的类型主要有:
- document:文档,代表整个文档(DOM 树的根节点);
- element:元素,表示一个元素;
- attribute:属性,代表一个属性;
- PCDATA(Parsed Character Data):文本;
- comment:注释,代表一个注释;
- DOCTYPE:主要验证文档内容的正确性;
- ENTITIES:实体;
- CDATA(Character Data):代表文档中的 CDATA 区段,文本不会被解析器解析。
在使用过程中,请记住以下几个基本语法。
- 声明格式,如下:
- 根节点:必须有一个根节点。
- 标签:标签必须有结束且区分大小写,标签必须顺序嵌套。
- 属性:必须使用引号引起值。
- 空格会被保留。
- 命名规则:命名必须见名知意。
- 名字可包含字母、数字以及其他的字符。
- 名字不能以数字或者标点符号开始。
- 名字不能以字符“xml”(或者 XML、Xml)开始。
- 名字不能包含空格。
- 不应在 XML 元素名称中使用“:” ,这是由于它用于命名空间(NameSpaces)的保留字。
- 标签优先于属性。
- XML 命名空间可提供避免元素命名冲突的方法。
- CDATA:字符数据,
,字符数据不进行转义。
- 实体:使用方式为“&实体;”,XML 中有5个预定义的实体,如下表所示。
注释:在 XML 中,只有字符 "
关注
打赏