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.例子

10323
? 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个预定义的实体引用:
实体引用符号 原符号 释义 中文释义
&lt; < less than 小于
&gt; greater than 大于
&amp; & ampersand 和号
&apos; ' apostrophe 单引号
&quot; " 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属性

因使用属性而引起的一些问题:

  • 属性不能包含多个值(元素可以)
  • 属性不能包含树结构(元素可以)
  • 属性不容易扩展(为未来的变化)

属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。不要做这样的蠢事(这不是 XML 应该被使用的方式

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">

</note>
- END -


以上是关于XML简单学习的主要内容,如果未能解决你的问题,请参考以下文章

IOS开发-OC学习-常用功能代码片段整理

xml Eclipse模板(代码片段)检查参数并最终抛出IllegalArgumentException

需要示例代码片段帮助

在 sapui5 片段的 xml 文件中使用 jquery

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

xml 中的 Android 谷歌地图片段。我得到“意外的命名空间前缀”