XML笔记
XML Learning_Note
目录
1.XML介绍
- XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种很像HTML的标记语言
- XML 的设计宗旨是传输数据,而不是显示数据
- XML 标签没有被预定义。您需要自行定义标签
- XML 被设计为具有自我描述性
- XML 是 W3C 的推荐标准
2.XML实例说明
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
- 第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(UTF-8 : 万国码, 可显示各种语言)
- 第二行描述文档的根元素(像在说:"本文档是一个便签")
- 接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body)
- 最后一行定义根元素的结尾
- 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>
- 实例中的根元素是
bookstore
。文档中的所有book
元素都被包含在bookstore
中 book
元素有 4 个子元素:title
、author
、year
、price
3.XML基本语法
3.1 大小写敏感
<Message>这是错误的</message>
<message>这是正确的</message>
3.2 所有的 XML 元素都必须有一个关闭标签
<p>This is a paragraph.</p>
<br />
3.3 必须正确嵌套
(正确嵌套的意思是:由于 元素是在 元素内打开的,那么它必须在 元素内关闭)
<b><i>This text is bold and italic</i></b>
3.4 属性值必须加引号
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
3.5 用实体引用来代替 "<" 字符
<message>if salary < 1000 then</message>
< ; | < | less than |
---|---|---|
> ; | > | greater than |
& ; | & | ampersand |
&apos ; | ' | apostrophe |
" ; | " | quotation mark |
3.6 注释
<!-- This is a comment -->
3.7 保留空格
在 XML 中,文档中的空格不会被删减
3.8 换行与分隔
-
XML 以 LF 存储换行
-
属性值用双引号 " 或单引号 ' 分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符)
3.9 命名规则
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(或者 XML、Xml 等等)开始
- 名称不能包含空格
3.10 属性相关
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不容易扩展(为未来的变化)
- 元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素
尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】