XML中文教程(从入门到高级)
### XML中文教程(从入门到高级) #### 第2章 XML语法 在这一章节中,我们将深入探讨XML的基本语法,并通过实例来理解其核心概念。学习完成后,读者将能编写符合自身需求的基本XML文档。本章节还将引入一个示例项目——书籍目录应用程序的基础部分,展示如何利用XML描述和建模与书籍内容相关的数据。 #### 2.1 标记语法 XML标记是用来描述XML文件或数据包(即XML实体)内容结构的关键组件。这些标记由不同的标签组成,用于界定文档中的各个部分,提供对特殊符号和文本宏的引用,以及传递特殊指令给应用程序或将注释传递给文档编辑器。 ##### 2.1.1 字符 为了适应全球范围内的使用需求,XML规定了使用16位Unicode 2.1字符集。这是一种相对较新的标准,旨在容纳大多数现存字符编码,并且易于将遗留内容转换为Unicode。例如,将ASCII字符转换为Unicode只需在16位字符的高位填充0,低位保持不变即可。 尽管Unicode涵盖了广泛的语言和字符集,但并非所有的字符都是合法的XML字符。合法的XML字符包括: - 三个ASCII C0控制符:水平制表符(HT)、换行(LF)、回车(CR); - 所有的普通ASCII可显示字符; - 所有的其他Unicode字符值,除了以下几种情况: - 一些控制字符和不可显示的字符; - 称为“保留区域”的私有字符集(U+E000至U+F8FF),这部分字符不建议用于XML文档的广泛交换,因为它们的含义需要双方单独约定。 访问[Jukka Korpela](http://www.hut.fi/u/jkorpela/chars/)的页面可以了解更多关于字符编码的信息。 ##### 2.1.2 命名规则 在XML中,几乎所有使用的结构都需要命名。根据XML规范,所有命名必须遵循一定的规则: - **命名的开头**:命名必须以字母、下划线(_)或冒号(:)开头。 - **后续字符**:后续字符可以包括字母、数字、连字符(-)、下划线(_)、句点(.)以及冒号(:)。 - **大小写敏感性**:与HTML不同,XML是大小写敏感的。这意味着`Title`和`title`被视为两个不同的元素。 - **特殊字符限制**:不允许使用空格、制表符、换行符或其他控制字符作为命名的一部分。 #### 示例:创建简单的XML文档 假设我们要创建一个描述书籍的简单XML文档,我们可以这样编写: ```xml <?xml version="1.0" encoding="UTF-8"?> <catalog> <book id="bk101"> <author>Gambardella, Matthew</author> <title>XML Developer's Guide</title> <genre>Computer</genre> <price>44.95</price> <publish_date>2000-10-01</publish_date> <description>An in-depth look at creating applications with XML.</description> </book> </catalog> ``` 在这个例子中,我们定义了一个名为`catalog`的根元素,其中包含一个名为`book`的子元素。每个`book`元素都有一个`id`属性,并包含了多个描述书籍信息的子元素,如`author`、`title`、`genre`等。 #### 结论 通过学习XML的基本语法,你可以开始构建和解析XML文档。XML的强大之处在于它不仅是一种数据格式,还可以作为数据交换的标准,特别是在Web服务和各种应用程序之间共享数据时。掌握XML的基础知识对于理解和开发现代应用程序至关重要。
- 粉丝: 1
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1731260448754.jpeg
- 博图 博途1s保护解除DLL Siemens.Automation.AdvancedProtection.dll
- 基于Java和Shell语言的csj_21_08_20_task1设计源码分享
- 基于Typescript和Python的MNIST卷积神经网络模型加载与预测浏览器端设计源码
- 基于Python的RasaTalk语音对话语义分析系统源码
- 基于Vue框架的租车平台前端设计源码
- 基于Java和C/C++的浙江高速反扫优惠券码830主板设计源码
- 基于Java的一站式退休服务项目源码设计
- 基于Java语言实现的鼎鸿餐厅管理系统设计源码
- 基于Java的iText扩展库:简化PDF创建与中文字体应用设计源码