一、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 框架。...
### C#操作XML文件知识点详解 #### 一、概述 在C#开发中,操作XML文件是一项非常常见的任务。无论是读取配置文件还是处理数据交换,掌握如何有效地读写XML都至关重要。本篇文章将详细解释如何使用C#来读取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...
在iOS开发中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它用于存储结构化数据。本文将深入探讨如何使用GDataXMLParser库在iPhone应用中解析XML文件。GDataXMLParser是Google提供的一款强大的XML...
在这个小结中,我们将深入探讨 Dom4j 的核心功能,包括初始化、使用迭代器、XPath 导航以及快速遍历。 1. 初始化: 在 Dom4j 中,解析 XML 文档的第一步是创建一个 `SAXReader` 实例,然后用它来读取 XML 文件。...
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文件加载到内存中,形成一个树形结构,适合处理小到中等规模的XML文档。而SAX解析器采用事件驱动的方式,逐行读取XML文件,适合处理大型XML文件以避免内存消耗。 对于多级XML,DOM解析更便于...
这种方法适用于处理大型XML文件,因为内存消耗较小。在iOS中,我们可以使用`NSXMLParser`类来实现SAX解析。 - `NSXMLParser`的初始化:创建`NSXMLParser`对象,设置代理,并调用`parse`方法开始解析。 - 代理方法...
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 为何需要正式的结构 ...
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 为何需要正式的结构 ...