XML、DTD、Schema、dom4j解析

XML:可扩展的标记语言

XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。

XML语法:

XML文档声明

1.文档声明必须为<?xml开头,以?>结束;

2.文档声明必须从文档的0行0列位置开始:

3.文档声明只有属性:

a) versioin:指定XML文档版本。

b) encoding:指定当前文档的编码。可选属性,默认值是。utf-8:

元素element

1.元素是XML文档中最重要的组成部分,

2.普通元素的结构开始标签、元素体、结束标签组成。

3.元素体:元素体可以是元素,也可以是文本。

4.空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭介。

5.元素命名:

a) 区分大小写

b) 不能使用空格,不能使用冒号:

c) 不建议以XML,  xml,  Xml开头

6.格式化良好的XML文档,必须只有一个根元素。

属性

1.属性是元素的一部分,它必须出现在元素的开始标签中

2.属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引

3.一个元素可以有O ~ N个属性,但一个元素中不能出现同名属性

4.属性名不能使用空格、冒号等特殊字符,且必须以字母开头

注释

XML的注释与HTML相同,即以“<!--”开始,以“-->”结束。注释内容会被XML解析器忽略!

转义字符

XML中的转义字符与HTML一样。

因为很多符号己经被XML文档结构所使用,所以在元素体或属性值中想使用这些符号就必须使用转义字符。

CDATA区

当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低。这时如果使用CDATA段就会好一些。

在CDATA段中出现的“<”、“>’,、“””、“‘”、“&”,都无需使用转义字符。这可以提高xml文档的可读性。

在CDATA段中不能包含“]]>”,即CDATA段的结束定界符。

DTD:文档类型定义,用来约束XML文档。规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。

DTD语法:

1.内部DTD,在XML文档内部嵌入DTD,只对当前XML有效。

2.外部DTD——本地DTD,DTD文档在本地系统上,公司内部自己项目使用。

3.外部DTD——公共DTD,DTD文档在网络上,一般都有框架提供。

Schema约束:

Schema是新的XML文档约束。

Schema要比DTD强大很多,是DTD替代者。

Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml。

Schema功能更强大,数据类型更完善。

Schema支持名称空间。

dom4j解析:

解析方式和解析器:

开发中比较常见的解析方式有三种,如下:

1.DOM:要求解析器把整个XML文档装载到内存,并解析成一个Document对象。

a) 优点:元素与元素之间保留结构关系,故可以进行增删改查操作。

b) 缺点:XML文档过大,可能出现内存溢出显现。

SAX:是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。并以事件 驱动的方式进行具体解析,每执行一行,都将触发对应的事件。

a) 优点:处理速度快,可以处理大文件

b) 缺点:只能读,逐行后将释放资源。

3. PULL:  Android内置的XML解析方式,类似SAX。

解析器:就是根据不同的解析方式提供的具体实现。

原文地址:https://www.cnblogs.com/boss-H/p/11105675.html

时间: 2024-08-16 15:40:56

XML、DTD、Schema、dom4j解析的相关文章

JavaScripts学习日记——XML DTD Schema

今日关键词: XML DTD Schema 1.XML 1 XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的. W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用.同时,在2004年2月W3C又发布了1.0版本的第三版.我们要学习的还是1.0版本!!

xml简介和dom4j解析xml重要方法

1.xml(可扩展标记语言)的概述 与html的区别: xml: 描述数据,用于存储和传输数据.标签都是自定义的 html:显示数据,标签都是预定义的 注意事项: 文档声明必须在第一行 只有一个根标签 元素只能包裹嵌套,不能交叉嵌套 注释不能嵌套 标签命名规则:字母.数字.下划线.减号.英文句点组成,严格区分大小写 属性值要用单引号或双引号 2.约束文档 1.DTD(Document tyte definition)--->约束xml的书写规范 a DTD文件的书写 <?xml version

XML Dtd Schema

在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束. 整体比较: XML Schema符合XML语法结构. DOM.SAX等XML API很容易解析出XML Schema文档中的内容. XML Schema对名称空间支持得非常好. XML Schema比XML DTD支持更多的数据类型,并支持用户自定义新的数据类型. XML Schema定义约束的能力非常强大,可以对XML实例文档作出细致的语义限制.XML Schema不能像DTD一样定义实体,比DTD更复杂,但

dom4j解析Xml,dom4j解析带命名空间的Xml内容,dom4j解析xml为实体类

首先引入maven: <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</arti

Java 模拟servlet执行、DTD约束、Schema约束、dom4j解析(读写xml)

模拟servlet执行 浏览器请求WEB服务器上的资源,WEB服务器返回给浏览器 浏览器的入口不同(访问路径),访问的资源也不同. 我们需要使用xml约束(DTD或schema);为了获得xml的内容,我们需要使用dom4j进行解析. XML(不同路径(/hello)执行不同的资源( HeIIoMyServlet)) XML可扩展的标记语言  标签可自定义的 包下创建xml 文件   new → other  →  XMLFile 粘贴web-app_ 2_ 3.dtd文件 复制web-app_

xml语法、DTD约束xml、Schema约束xml、DOM解析xml

今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的html语言,html是超文本标记语言,使用html语言规定好的标签来封装文本数据.而html使用的标签html语言规定好的,每个标签都有自己特定的功能. xml语言,可扩展的标记语言,这门语言它没有定义任何的标记,而标记是由使用者自己来定义,但是由于标签名称以及属性名称都由用户自己来命名,导致别人在使

dom4j解析xml时取消DTD验证

解决方式整合一下,就分两种: 1.用setFeature() SAXReader reader = new SAXReader();reader.setValidation(false); reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);... 2.用setEntityResolver() SAXReader reader = new SAXReader

XML学习笔记(五):使用 jdom和dom4j 解析XML

XML解析的详细分析与jaxp解析XML详见:XML学习笔记(四):使用 DOM和SAX 解析XML 一.JDom 1.创建XML文件: 1)Document类即代表整个XML文档,把生成的 Document 利用 XMLOutputter 类输出即可. 2)映射关系:元素:Element:属性:Attribute:注解:Comment:文本信息:Text: 3)注意:addContent()是追加,setContent()会覆盖. /** * 创建XML * * @throws IOExcep

dom4j 解析 XML文档截录

dom4j 是一种解析 XML 文档的开放源代码 XML 框架.本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档. dom4j API 包含一个解析 XML 文档的工具.本文中将使用这个解析器创建一个示例 XML 文档.清单 1 显示了这个示例 XML 文档,catalog.xml. 清单 1. 示例 XML 文档(catalog.xml) <?xml version="1.0" encoding="UTF-8"?> <cat