XML是可扩展的标记语言(eXtensible Markup Language)的缩写。标致记语言除了可以存储文档的基本信息外,还可以存储文档的显示格式、文档布局、逻辑结构等附加信息。
XML的可扩展性体现在其标记可以由开发者自行定义。
XML的用途:数据交换、跨平台应用开发、数据转换、数据库和配置文件。
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
说明:声明该文档是一个XML文件,必须出现在文档的第一行。
version="1.0"表示该XML文档的版本为1.0。
"encoding"和"standalone"不显示,则默认处理。
encoding="ISO-8859-1"表示文档的编码为ISO-8859-1(西欧国家常用的字符编码),默认编码为UTF-8。
standalone="no"表示设置XML文档为非独立文档,默认为独立文档。
字符串"<?”和"xml"之间不可以留空格。
处理指令:用于应用程序处理XML文档。
以“<?”开始,以“?>”结束,不同的应用程序能识别不同的处理指令。当处理指令不能被应用程序识别时,将被忽略。
例:<?xml-stylesheet href="xsl/book.xsl" type="text/xsl" ?>
XML文档的注释:以“<!--”开头,以“-->”结束,中间为注释内容。
例:<?xml version="1.0" ?>
<!--书的简单信息-->
说明:如果注释的信息较多,可以多行文档注释。注释内空可以包含任何特殊字符。
元素:是指标签及包含在标签内容的内容。
例:<?xml version="1.0" ?>
<!--书的简单信息-->
<book>
<name>XML学习天下</name>
<price>88.00</price>
<author>李四</author>
</book>
元素的命名规则:
元素名只能以字母或下画线开头,其后可以跟数字、字母和下画线的任意组合;
元素名不能以XML(xml、Xml、xMl…)开头;
元素名不能包含空格;
元素的开始标签与结束标签名称必须完全一致(包含了大小写也必须完全一致)。
根元素:
每个XML文档都有且只有一个根元素。根元素是顶级元素(也是就第一个元素),除处理指令和注释外,其他所有元素都必须包含在根元素中。
注意:
1、XML是大小写敏感的,要特别注意;
2、文档类型声明、注释和文档处理指令都不是元素;
3、元素的开始标签和结束标签必须对称出现。如果某个元素的内容为空,则必须写为如下格式。
<author></author>
属性:指某件事物的特性,必须依附于元素存在,用于描述元素。
属性的习惯写法:属性名="属性值"
以下情况可以考虑使用属性:
无须扩展;
要存储的数据量不大;
数据与元素关系特别密切;
与元素的关系是一一对应的。
例:<?xml version="1.0" ?>
<!--书的简单信息-->
<books>
<book id="001">
<name>XML学习天下</name>
<price>88.00</price>
<author>李四</author>
</book>
<book id="002">
<name>XML百例</name>
<price>68.00</price>
<author>张三</author>
</book>
</books>
实体引用:XML文档中有些特殊字符有着特殊意义。
XML内置了五种实体:
实体:lt 实体引用:< 含义:小于
实体:gt 实体引用:> 含义:大于
实体:amp 实体引用:& 含义:&
实体:apos 实体引用:' 含义:单引号
实体:quot 实体引用:" 含义:双引号
例:<?xml version="1.0" ?>
<book>
<name>XML学习天下</name>
<price>88.00</price>
<author>李四</author>
<em>价格88>50 是有点贵哦</em>
</book>
CDATA段:CADTA全称为字符数据(Character Data)
语法:<![CDATA[内容]]>
说明:内容中的全部字符都被处理器视为普通字符。
CDATA段不可嵌套,而且没有嵌套的必要;
“CDATA”字符串并不出现在真正的文本内容中;
当需要将大块文本内容填充到元素中时,比较适用CDATA部件。
例:<?xml version="1.0" ?>
<comment>
<![CDATA[在CDATA段中,“<”、“>”和“&”都当做是普通字符来处理]]>
</comment>
格式的良好性:
文档不能为空。如果文档中没有元素,该文档也就失去了存在的意义;
只能含有一个根元素;
元素之间的嵌套关系要正确;
属性必须依附于元素存在;
属性值必须用引号(单引号或双引号)括起来;
特殊字符必须使用实体引用。
有效性:
有效性一般是通过为XML定义Schema或 DTD来实现的,有效有性是进一步验证XML文档特性的一种手段。
Schema是用来定义XML文件,并利用该定义验证XML文件是否符合要求的一种技术。
XSLT(扩展样式表转换)则是提供将XML转达换为其他文件格式的一种转换规则。
XSLT的全称是Extensible Stylesheet Language Transformations。
Schema、XML和XSLT的关系:
有效的XML←Schema(验证)← XML文档 →XSLT(转换)→其他文件
分享到:
相关推荐
pugixml是一款轻量级、高性能的C++库,专为XML解析和操作而设计。这个库由Artemev开发,提供了简单易用的API,使得在C++项目中处理XML文档变得非常便捷。本示例将详细介绍如何使用pugixml进行XML的读取和写入操作。 ...
在PowerBuilder(简称PB)这个强大的开发环境中,处理XML文件是一项常见的任务。XML(Extensible Markup Language)是一种用于存储和传输数据的通用格式,尤其在跨平台和网络应用中广泛使用。本示例主要探讨如何在...
TinyXML和TinyXML2是两个小型的开源库,专门用于解析和操作XML(eXtensible Markup Language)文档。这两个库都是用C++编写的,为C++开发者提供了方便的接口来读取、写入和操作XML数据。下面将详细介绍这两个库的...
andxml汉化版是一个xml文件反编译工具,可与APKTOOL反编译配合使用,APK文件使用APKTool反编译生成XML文件后,就可以直接通过它进行汉化编辑 注意: 1、一键机器翻译会造成某些代码出现翻译错误现象,请人工识别。...
易语言XML解析是编程领域中的一个重要主题,尤其对于使用易语言进行开发的程序员来说,理解并掌握XML(可扩展标记语言)的解析方法是至关重要的。XML作为一种结构化数据存储和交换格式,广泛应用于网络通信、配置...
TinyXML-2 是一个简单、小型、高效的 C++ XML 解析器,可以被轻松集成到其他程序中。它使用文档对象模型(DOM)的方式解析XML,可解析 XML 文档,并根据该文档构建可读取、修改和保存的文档对象模型。 作为XML解析...
使用java工具xml2axml.jar反编译AndroidManafest文件 通过xml2axml.jar工具反编译AndroidManafest文件 还原AndroidManafest.xml详细过程: 1、获取到apk 2、解压获取里面的AndroidManifest.xml文件 3、在xml2axml....
**Pugixml详解:一个高效易用的XML解析库** 在编程中,XML(Extensible Markup Language)是一种被广泛使用的数据交换格式,特别是在跨平台通信、配置文件和数据存储等领域。为了处理XML文档,开发者通常需要依赖...
Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...
XML(eXtensible Markup Language)是一种用于标记数据的语言,其设计目的是传输和存储数据,而非显示数据。在IT行业中,XML因其结构清晰、可扩展性强的特点,被广泛应用于数据交换、配置文件、Web服务等领域。本文...
TinyXML-2,通常以tinyxml2库的形式存在,是一个轻量级的C++库,专门用于解析和操作XML文档。这个库由李·斯坦普(Lee Stemp)开发,设计简洁,易于集成到各种项目中,特别是对于嵌入式系统和资源有限的环境。在给定...
在Qt框架中,XML文件是一种常见的数据存储格式,它提供了结构化的数据表示方式,便于程序读取和写入。QTreeWidget是Qt提供的一种用于显示树状结构数据的控件,它可以很好地展示XML文件的层次结构。QXml是Qt中的XML...
TinyXML2是一个小型、快速且易于使用的C++库,用于解析和生成XML文档。这个库的设计目标是简单、高效,并且适用于嵌入式系统。在本文中,我们将深入探讨如何使用TinyXML2来解析和创建XML文件,特别是涉及到CDATA区段...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在软件开发、Web服务、配置文件等领域。本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 ...
- 库的主要类包括`XMLDocument`(XML文档对象)、`XMLElement`(XML元素)、`XMLText`(XML文本)、`XMLComment`(XML注释)和`XMLAttribute`(XML属性)等。 2. **解析XML文件** - 使用`XMLDocument::LoadFile()...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换、文档存储等领域。TinyXML2是轻量级的C++ XML解析库,它提供了简单、直接的方式来读写XML文档。本项目是基于tinyxml2...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、文档存储等领域。XML Schema(通常缩写为XSD)则是为XML文档定义结构和数据类型的规范,它允许我们对XML文档进行更严格...
XMLParser是一种用于解析XML文档的C++实现,它旨在提供简单、小巧且稳定的解决方案,以处理XML数据。XML,即可扩展标记语言,是用于存储和传输数据的标准格式,广泛应用于配置文件、数据交换和文档结构化等领域。XML...
XML(eXtensible Markup Language)是一种用于存储和交换数据的标记语言,广泛应用于软件开发、数据存储和网络通信等领域。Matlab作为一个强大的数值计算和数据分析环境,也提供了与XML交互的功能,这主要通过XML ...
(2) 解压Xml Tools 2.4.8 Unicode.zip,关闭Notepad++ (3) 将xmltools子文件夹下的XMLTools.dll拷贝至Notepad++的plugins子文件夹 (4) 将ext_libs子文件夹下的所有dll文件拷贝至Notepad++的根目录(与notepad++.exe...