01_xml&dom_sax_dom4j编程

一、XML简介及语法: 1.XML:eXtensible Markup Language(可扩展标记语言) 2.产生原因:用来处理大量有关系的数据 3.作用: 1).用来系统传输数据 2).用来存储数据 3).作为软件的配置文件 4.xml语法: 1).文档声明: 注意:文档声明出现在xml的第一行第一列 <?xml version = "1.0" ?> version 版本号 version属性是必须的属性 encoding 编码集 可选 standalone 是否需要依赖其他的文档 yes/no 2).元素: 1'.元素:标签 标签的写法: <span></span> <span/> 标签的嵌套:必须正确的嵌套 xml有且只有一个根标签 2'.元素的命名规范: 区分大小写 不能以数字或_开头 不能以xml开头 元素名称的中间不能出现空格和冒号 3).属性: 一个标签可以有多个属性,每个属性都有自己的名称和取值 属性值一定要使用双引号或单引号引起来 定义属性时必须遵循与标签相同的命名规范 在xml中,标签属性代表的信息,可以通过子元素来描述 4).注释: <!-- 注释内容 --> 注释不能嵌套 注释不能出现在文档声明之前 5).特殊字符和CDATA区: 转义字符: < : &alt; > : &gt; & : &amp; " : &quot; ' : &apos; 空格 :&nbsp; CDATA区:<![CDATA[ 普通文档 ]]> 6).处理指令(PI):用来指挥解析引擎如何解析xml文档内容 例:<?xml-stylesheet type="text/css" href="1.css"?> 7).配置文件: properties:键值对 xml:可以更好的描述层次关系,因为xml是可扩展的标记语言 二、xml的约束:DTD 和 Schema 1.DTD:文档类型定义: 编写步骤: 1).xml文档需要出现哪些标签、个数是多少 <!ELEMENT 元素名称 元素类型> 2).查询xml的元素类型是什么:简单or复杂 3).在xml中引入dtd 2.DTD引入方式: 1).文档内部: <!DOCTYPE 根标签 [ <!ELEMENT 元素名称 元素类型> ... ]> 2).文档外部: 本地:<!DOCTYPE 跟标签 SYSTEM "xxx.dtd"> 网络:<!DOCTYPE 根节点 PUBLIC "DTD名称" "DTD路径"> 3.DTD语法: 1).元素的定义: 1'.语法:<!ELEMENT 元素名称 元素类型> 2'.元素的类型: #PCDATA :可解析的字符数据 子元素: EMPTY:空元素 ANY:任意 3'.子元素出现的次数: + :一次或多次 * :0次或多次 ? :0次或一次 4'.子元素的顺序:,: 子元素出现必须按照顺序 | : 子元素出现是或关系 2).属性的定义: 1'.语法:<!ATTLIST 元素名称 属性名称 属性类型 属性约束> 2'.属性类型: CDATA:字符数据(字符串) 枚举:枚举类型 ID:标识的值是唯一的 3'.属性约束: #REQUIRED :属性必须出现 #IMPLIED:属性是可选的 #FIXED:属性是固定值 默认值: 3).实体的定义: 语法:<!ENTITY 实体名称 实体值> 三、xml解析:(解析技术有多种,常用的DOM和SAX) 1.DOM:Document Object Model 文档对象模型 将XML一次性加载到内存中,形成一个树形结构 2.SAX:Simple API for XML.不需要将文档一次性加载到内存中,边读边解析,事件驱动方式 3.DOM和SAX的区别: 1).DOM一次性将文本加载到内存,形成树形结构,优点是方便进行增加、修改删除操作,缺点是如果文档非常大,容易导致内存溢出 2).SAX是边读边解析,不易导致内存溢出,不能做增加、修改、删除操作 4.Node:节点 所有的内容都是节点,包括元素、属性、文本、文档 5.Jaxp解析过程: 1).DOM解析: 1'.创建解析器工厂 2'.由解析器工厂来创建解析器 3'.通过解析器解析xml文档 4'.通过Document对象获取节点 2).SAX解析: 1'.创建解析器工厂 2'.由解析器工厂来创建解析器 3'.通过解析器解析xml文档--->绑定处理器 6.Dom4j解析过程: 解析过程: 1).获得Document对象 1'.通过读取xml文件,获得document对象 SAXReader reader = new SAXReader(); Document document = reader.read("xxx.xml"); 2'.解析xml形式的文本,获取document对象 Document document = DocumentHelper.parseText("<members></members>"); 3'.主动创建document对象 Document document = DocumentHelper.createDocument(); 2).通过document对xml文档进行CRUD解析操作 3).将文档写入xml文件:(XMLWriter、OutputFormat) XPath:方便查询XML的节点,dom4j支持XPath

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇