当前位置:网站首页>文字编码 - XML 教程
文字编码 - XML 教程
2022-08-04 13:10:00 【为为为什么】
XML 指可扩展标记语言,被设计用来传输和存储数据。本文记录XML基础知识。 教程参考w3school。
简介
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
- XML 是没有任何行为的纯文本,仅编码保存数据
用途
- XML 把数据从 HTML 分离
- XML 简化数据共享
- XML 简化数据传输
- XML 简化平台的变更
XML 树结构
XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
- XML 文档必须包含根元素。该元素是所有其他元素的父元素
- XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端
- 所有元素均可拥有子元素
实例
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>这段代码表示了具有如下元素框架的三本书。
语法规则
- 所有 XML 元素都须有关闭标签(声明不是XML元素,恰好他又不需要关闭)
- XML 标签对大小写敏感,必须使用相同的大小写来编写打开标签和关闭标签:
<Message>这是错误的。</message>
<message>这是正确的。</message> - XML 必须正确地嵌套
<b><i>错误嵌套</b></i>
<b><i>正确嵌套</i></b>- XML 文档必须有根元素
XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。
<root>
<child>
<subchild>.....</subchild>
</child>
</root>- XML 的属性值须加引号
<note date=08/08/2008> <!-- 错误属性 -->
<note date="08/08/2008"> <!-- 正确属性 -->
<to>George</to>
<from>John</from>
</note> - 实体引用
在 XML 中,有 5 个预定义的实体引用:
< | < | 小于 |
|---|---|---|
> | > | 大于 |
& | & | 和号 |
' | ’ | 单引号 |
" | " | 引号 |
- 注释
语法与 HTML 的语法很相似:
<!-- This is a comment --> - 在 XML 中,空格会被保留
- XML 以 LF 存储换行
在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。
XML 元素
XML 元素
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。 元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore> XML 命名规则
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
最佳命名习惯
- 使名称具有描述性。使用下划线的名称也很不错。
- 名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
- 避免 “-” 字符。如果您按照这样的方式进行命名:“first-name”,一些软件会认为你需要提取第一个单词。
- 避免 “.” 字符。如果您按照这样的方式进行命名:“first.name”,一些软件会认为 “name” 是对象 “first” 的属性。
- 避免 “:” 字符。冒号会被转换为命名空间来使用(稍后介绍)。
XML 属性
XML 元素可以在开始标签中包含属性,类似 HTML。属性 (Attribute) 提供关于元素的额外(附加)信息。
- XML 属性必须加引号,单引号和双引号均可使用。
<person sex="female">或
<person sex='female'>XML 元素 vs. 属性
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person> 上述代码表示了同样的信息,也就是说XML中,属性携带的信息量可以被子元素取代。没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。
XML属性的缺点
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
XML 验证
拥有正确语法的 XML 被称为“形式良好”的 XML。通过 DTD 验证的 XML 是“合法”的 XML。
“形式良好”(Well Formed)的 XML 文档
- XML 文档必须有根元素
- XML 文档必须有关闭标签
- XML 标签对大小写敏感
- XML 元素必须被正确的嵌套
- XML 属性必须加引号
边栏推荐
猜你喜欢
随机推荐
router---dynamic route matching
代码越写越乱?那是因为你没用责任链!
odoo13 note point
Control CD-ROM with VbScript
FHQ-Treap 简介
JSX use
router---动态路由匹配
CLS-PEG-DBCO,胆固醇-聚乙二醇-二苯基环辛炔,可用于改善循环时间
Geoffrey Hinton:深度学习的下一个大事件
烂大街的缓存穿透、缓存击穿和缓存雪崩,你真的懂了?
GeoAO:一种快速的环境光遮蔽方案
k8s上安装mysql
[Niu Ke brush questions-SQL big factory interview questions] NO5. Analysis of a treasure store (e-commerce model)
Arduino框架下I2S控制ADC采样以及PWM输出示例解析
云原生Devops 的实现方法
面试官:如何查看/etc目录下包含abc字符串的文件?
Js获取当前页面url参数
TS - type
工具函数---字符串处理
sqlserver删除重复数据









