XML简单学习
Posted Flask学习笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML简单学习相关的知识,希望对你有一定的参考价值。
XML
1.缘起
邮件一般是
html
或者是xml
格式的问题件,这里简单的学习一下XML
2.XML简介
XML指可扩展标记语言 XML被设计用来传输和存储数据
HTML被设计用来显示数据
1.什么是XML
1.XML指可扩展标记语言(EXtensible Markup Language) 2.XML是一种标记语言,类似于HTML 3.XML被设计宗旨是传输数据,而非显示数据 4.XML标签没有被预定义,可以自己定义标签 5.XML是W3C的推荐标准
2.XML和HTML区别
XML 不是 HTML 的替代。XML 和 HTML 为不同的目的而设计:XML 被设计为传输和存储数据,其焦点是数据的内容。HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。XML 不是对 HTML 的替代
3.XML树结构
ML文档形成了一种树结构(tree),它从"根部"(root)开始,然后扩展到"树叶"
1.实例
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>1. XML声明,它定义了XML的版本(1.0)和所使用的编码(ISO-8859-1),而我们平常使用的是
--encoding="UTF-8"
2..... 文档的根元素(root) 3.中间的4行描述根的4个子元素(to,from,heading及body)
2.根结构
XML文档必须包含根元素(root).该元素是所有其他元素的父元素。XML文档中的元素形成了一颗文档树。这棵树从根部开始,并扩张到树的最底段。所有的元素都可以拥有子元素。
<root>
<child>
<subchild>.....</subchild>
</child>
</root>父,子以及同胞等术语用于描述元素之间的关系,父元素拥有子元素。相同层次上的子元素称为同胞(兄弟或姐妹)。所有元素怒均可以拥有文本内容和属性。
3.例子
? xml version='1.0' encoding='UTF-8' ?>
<!-------注释----->
<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。
4.XML语法规则
1.所有XML元素都须有关闭标签 2.XML标签对大小写敏感 3.XML必须正确的嵌套 4.XML必须有根元素 5.XML的属性值必须加双引号或单引号 6.实体引用:在XML中一些字符拥有特殊的意义,如果把字符 <
放在XML元素中,会发生错误,解析器会把他当成新元素的开始<message>if salary < 1000 then</message>
为了避免这个错误,可以使用 实体引用来替代<
字符,在XML中,有5个预定义的实体引用:
实体引用符号 原符号 释义 中文释义 <
< less than 小于 >
greater than 大于 &
& ampersand 和号 '
' apostrophe 单引号 "
" quotation mark 双引号
7.XML中的注释:
<!-- dd -->
8.XML中空格会被保留
9.XML中以LF存储换行
5.XML元素
1.什么是XML元素
xml元素指的是从(且包括)开始标签直到(且包括)结束标签的部分 一个元素可以包含
其他元素 文本 属性 或混合以上所有
2.XML命名规则
XML元素必须遵循以下命名规则
名称可以包含字母,数字以及其他的字符 名称不能以字母xml(或者XML,Xml等等)开始 名称不能包含空格 可以使用任何名称,没有关键字,保留词
3.命名习惯
使名称具有描述性,使用下划线的名称也很不错, <first_name>
,<last_name>
名称应该简短简单,比如 <book_titile>
,而不是:<the_title_of_the_book>
避免 "-"
字符,如果您按照这样的方式进行命名:"first-name",一些软件会认为您想要从 first 里边减去 name。避免 "."
字符,如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。避免 ":"
字符,冒号会被转换为命名空间来使用。XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的命名规则来命名 XML 文档中的元素。 在 XML 中,éòá 等非英语字母是完全合法的,不过需要留意,您的软件供应商不支持这些字符时可能出现的问题。
4.XML是可扩展的
6.XML属性
1.XML属性
XML元素具有属性,属性(attribute)提供有关元素的额外信息 属性通常提供不属于数据组成部分的信息,在下面的实例中,文件类型与数据无关,但是对需要处理这个元素的软件很重要---->
<file type='gif'> computer.gif</file>
2.XML属性必须包裹在引号中
3.XML属性VS元素
实例1
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>实例2
<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>在第一个实例中,sex 是一个属性。在第二个实例中,sex 是一个元素。这两个实例都提供相同的信息。没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧。
4.避免XML属性
因使用属性而引起的一些问题:
属性不能包含多个值(元素可以) 属性不能包含树结构(元素可以) 属性不容易扩展(为未来的变化)
- END -属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。不要做这样的蠢事(这不是 XML 应该被使用的方式
<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
以上是关于XML简单学习的主要内容,如果未能解决你的问题,请参考以下文章
xml Eclipse模板(代码片段)检查参数并最终抛出IllegalArgumentException