一、XML简介
1、XML是指可扩展标记语言(eXtensible Markup Language),用户自定义的标签。相对于HTML来讲的。
2、XML被设计的宗旨是表示数据。HTML是用来显示数据的。目前经常使用的XML版本是1.0
3、XML除了表示数据外。在实际的企业开发中,主要用XML作为程序的配置文件。
二、XML的基本语法
1)文档声明
编写xml文件的时候,必须要添加声明, 声明必须出现在第一行。
最简单的文档声明:<?xml version="1.0"?>
如果要添加中文字符: 需要给其设定encoding属性。
<?xml version="1.0" encoding="gbk"?>
standalone 属性, 用来说明xml 文档是否独立.
注意:在写标点符号的时候,需要是英文的标点符号。
2)元素
a) 一个xml的元素也可以叫做标签, 这个必须要有开始和结束标签。 如果标签中没有标签体,那么也可以简写成, 例如 :<北京/> ,标签要合理的嵌套。一个xml 文档必须有且仅有一个根标签。
b) xml中的空格和换行会被当做元素内容去处理,所以在实际开发过程中,需要将空格和换行给去掉。
3)属性
一个xml标签可以有多个属性,语法类似 html中设置属性的语法。<mytag name="value"/>
其中,标签中的属性也可以改写成这样一种形式:
<mytag>
<name>
<firstname></firstnamename>
<secondname></secondname>
</name>
</mytag>
4注释
注释的格式:<!-- -->注释也不能够嵌套。xml中的注释不能够出现在第一行.
5.CDATA区 、
CDATA (Character Data) 的缩写。实际开发过程中一些数据可能不想让解析引擎处理.
就可以把它们放到CDATA区中。
<![CDATA[
文本内容
]]>
特殊字符:
& & ampersand
> > great than
< < less than
" " quotation
' ' apostrophe
6.处理指令(processing instruction) (PI)
<?xml-stylesheet type="text/css" href="s.css"?>文档的声明也是一个处理指令
三、XML的约束
1、格式良好的XML文档:符合XML语法的。
2、有效的XML文档:遵循约束规范的。格式良好的不一定是有效的,但有效的必定格式良好。
四、DTD的基本语法
1、DTD:Document Type Definition
2、作用:约束XML的书写规范。
3、DTD文件保存到磁盘时,必须使用UTF-8编码
4、如何引入外部的DTD文档来约束当前的XML文档
DTD文件在本地:<!DOCTYPE 根元素名称 SYSTEM "DTD文件的路径">
DTD文件在网络上:<!DOCTYPE 根元素名称 PUBLIC "DTD名称" "DTD的路径URL">
5、DTD的语法细节
5.1定义元素
语法:<!ELEMENT 元素名称 使用规则>
使用规则:
(#PCDATA):指示元素的主体内容只能是普通的文本.(Parsed Character Data)
EMPTY:指示元素的不能有主体内容。
ANY:用于指示元素的主体内容为任意类型(子元素):指示元素中包含的子元素
如果子元素用逗号分开,说明必须按照声明顺序去编写XML文档,如果子元素用“|”分开,说明任选其一。用+、*、?来表示元素出现的次数
5.2定义元素的属性(attribute)
语法:<!ATTLIST 哪个元素的属性
属性名1 属性值类型 设置说明
属性名2 属性值类型 设置说明>
属性值类型:
CDATA:说明该属性的取值为一个普通文本,ENUMERATED (DTD没有此关键字):
语法:<!ATTLIST 元素名称 (值1|值2) "值1">
ID:属性的取值不能重复
设置说明:
#REQUIRED:表示该属性必须出现
#IMPLIED:属性可有可无
#FIXED:表示属性的取值为一个固定值 语法:#FIXED "固定值"
直接值:表示属性的取值为该默认值
5.2定义实体
关键字ENTITY,实体的定义分为引用实体和参数实体
引用实体:
作用:在DTD中定义,在XML中使用
语法:<!ENTITY 实体名称 "实体内容">
在XML中使用:&实体名称;
参数实体:
作用:在DTD中定义,在DTD中使用
语法:<!ENTITY % 实体名称 "实体内容">
在DTD中使用:%实体名称;
五、XML解析方式概述
1、常用XML的解析方式:DOM和SAX
DOM:Document Object Model是W3C推荐使用的解析方式。
SAX:Simple API for XML。非官方标准。
2、常用解析开发包:
JAXP:SUN推出的实现,能进行DOM和SAX方式解析Dom4J,JDom等。
六、JAXP进行DOM解析
JAXP的API都在JavaSE中。
org.w3c.dom:提供DOM方式解析XML的标准接口。
org.xml.sax:提供SAX方式解析XML的标准接口。
javax.xml:提供了解析XML文档的类。
相关推荐
net操作xml小结
在本文中,我们将对XML进行深入的小结,探讨它的基本概念、结构以及在IT领域的应用。 XML是一种自描述性的语言,这意味着每个XML文档都包含描述其结构的元数据。它通过使用标签来定义数据的含义,而不是它的外观。...
.NET Web API 接收 XML 格式数据的 3 种情况小结 在 ASP.NET 编程中,Web API 是一个框架,可以很容易构建达成了广泛的 HTTP 服务客户端,包括浏览器和移动设备。是构建 RESTful 应用程序的理想平台的 .NET 框架。...
### XML结课论文知识点概述 #### 一、引言:XML的重要性及背景 - **互联网信息交换的问题**:随着互联网的发展,数据格式多样化导致信息交换过程中出现障碍。 - **XML的作用**:作为一种能够描述任意逻辑关系的...
### C#操作XML文件知识点详解 #### 一、概述 在C#开发中,操作XML文件是一项非常常见的任务。无论是读取配置文件还是处理数据交换,掌握如何有效地读写XML都至关重要。本篇文章将详细解释如何使用C#来读取XML文件...
详细介绍怎样使用asp操作xml文件。结合实例讲解,我从里面学习掌握的基础知识,很实用!
### XML文档搜索使用小结 #### 一、概述 在.NET框架中,处理XML文档是一项常见且重要的任务。为了能够高效地操作XML数据,开发者往往需要掌握如何在XML文档中定位特定节点。本文将详细介绍几种在.NET环境中查找XML...
转载: 你所不知道的XML安全——XML攻击方法小结. XML可扩展标记语言,被设计用来传输和存储数据,其形式多样。某些在XML中被设计出来的特性,比如 XML schemas(遵循XML Schemas 规范)和documents type definitions...
### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...
2.11 XML语法小结 2.12 格式正规的文档 2.13 解析器 2.13.1 事件驱动的解析器 2.13.2 基于树的解析器 2.13.3 解析器基准测试 2.14 书籍目录应用程序 2.15 小结 第3章 文档类型定义 3.1 为何需要正式的结构 ...
在iOS开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它用于存储结构化数据。本文将深入探讨如何使用GDataXMLParser库在iPhone应用中解析XML文件。GDataXMLParser是Google提供的一款强大的XML...
在这个小结中,我们将深入探讨 Dom4j 的核心功能,包括初始化、使用迭代器、XPath 导航以及快速遍历。 1. 初始化: 在 Dom4j 中,解析 XML 文档的第一步是创建一个 `SAXReader` 实例,然后用它来读取 XML 文件。...
DOM解析器会将整个XML文件加载到内存中,形成一个树形结构,适合处理小到中等规模的XML文档。而SAX解析器采用事件驱动的方式,逐行读取XML文件,适合处理大型XML文件以避免内存消耗。 对于多级XML,DOM解析更便于...
这种方法适用于处理大型XML文件,因为内存消耗较小。在iOS中,我们可以使用`NSXMLParser`类来实现SAX解析。 - `NSXMLParser`的初始化:创建`NSXMLParser`对象,设置代理,并调用`parse`方法开始解析。 - 代理方法...
2.11 XML语法小结 2.12 格式正规的文档 2.13 解析器 2.13.1 事件驱动的解析器 2.13.2 基于树的解析器 2.13.3 解析器基准测试 2.14 书籍目录应用程序 2.15 小结 第3章 文档类型定义 3.1 为何需要正式的结构 ...
DOM解析器将整个XML文档加载到内存中形成一个树形结构,适合小到中等规模的数据;SAX是事件驱动的,只在需要时处理数据,适用于大文件;而StAX是拉式模型,允许程序控制解析流程,适合流式处理。在学生管理系统中,...
2.11 XML语法小结 2.12 格式正规的文档 2.13 解析器 2.13.1 事件驱动的解析器 2.13.2 基于树的解析器 2.13.3 解析器基准测试 2.14 书籍目录应用程序 2.15 小结 第3章 文档类型定义 3.1 为何需要正式的结构 ...
### 小结 TinyXML是一个非常实用且易用的C++库,用于处理XML文件。通过对文档对象模型(DOM)的支持,TinyXML能够方便地实现对XML文件的读取、写入和修改等功能。对于初学者来说,了解TinyXML的核心类和基本操作是入门...
2.11 XML语法小结 2.12 格式正规的文档 2.13 解析器 2.13.1 事件驱动的解析器 2.13.2 基于树的解析器 2.13.3 解析器基准测试 2.14 书籍目录应用程序 2.15 小结 第3章 文档类型定义 3.1 为何需要正式的结构 ...