• XML 语法规则


    转摘自:http://www.w3school.com.cn/xml/xml_elements.asp

    XML 语法规则

    XML 文档包含 XML 元素。

    XML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。

    所有 XML 元素都须有关闭标签

    在 HTML,经常会看到没有关闭标签的元素:

    <p>This is a paragraph

    <p>This is another paragraph

    在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:

    <p>This is a paragraph</p>

    <p>This is another paragraph</p> 

    注释:您也许已经注意到 XML 声明没有关闭标签。这不是错误。声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。

    XML 标签对大小写敏感

    XML 元素使用 XML 标签进行定义。

    XML 标签对大小写敏感。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。

    必须使用相同的大小写来编写打开标签和关闭标签:

    <Message>这是错误的。</message>

    <message>这是正确的。</message>

    注释:打开标签和关闭标签通常被称为开始标签和结束标签。不论您喜欢哪种术语,它们的概念都是相同的。

    XML 必须正确地嵌套

    在 HTML 中,常会看到没有正确嵌套的元素:

    <b><i>This text is bold and italic</b></i>

    在 XML 中,所有元素都必须彼此正确地嵌套:

    <b><i>This text is bold and italic</i></b>

    在上例中,正确嵌套的意思是:由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭。

    XML 文档必须有根元素

    XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素

    <root>

      <child>

        <subchild>.....</subchild>

      </child>

    </root>

    XML 的属性值须加引号

    与 HTML 类似,XML 也可拥有属性(名称/值的对)。

    在 XML 中,XML 的属性值须加引号。请研究下面的两个 XML 文档。第一个是错误的,第二个是正确的:

    <note date=08/08/2008>

    <to>George</to>

    <from>John</from>

    </note>

    <note date="08/08/2008">

    <to>George</to>

    <from>John</from>

    </note>

    在第一个文档中的错误是,note 元素中的 date 属性没有加引号。

    实体引用

    在 XML 中,一些字符拥有特殊的意义。

    如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

    这样会产生 XML 错误:

    <message>if salary < 1000 then</message>

    为了避免这个错误,请用实体引用来代替 "<" 字符:

    <message>if salary &lt; 1000 then</message>

    在 XML 中,有 5 个预定义的实体引用:

    &lt;

    小于

    &gt;

    大于

    &amp;

    &

    和号

    &apos;

    '

    单引号

    &quot;

    "

    引号

    注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

    XML 中的注释

    在 XML 中编写注释的语法与 HTML 的语法很相似:

    <!-- This is a comment -->

     XML 中,空格会被保留

    HTML 会把多个连续的空格字符裁减(合并)为一个:

    HTML:    Hello           my name is David.

    输出:    Hello my name is David.

    在 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>

    在上例中,<bookstore> 和 <book> 都拥有元素内容,因为它们包含了其他元素。<author> 只有文本内容,因为它仅包含文本。

    在上例中,只有 <book> 元素拥有属性 (category="CHILDREN")。

    XML 命名规则

    XML 元素必须遵循以下命名规则:

    • 名称可以含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字符 “xml”(或者 XML、Xml)开始
    • 名称不能包含空格

    可使用任何名称,没有保留的字词。

    最佳命名习惯

    使名称具有描述性。使用下划线的名称也很不错。

    名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。

    避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。

    避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。

    避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。

    XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML文档中的元素。

    非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。

    XML 元素是可扩展的

    XML 元素是可扩展,以携带更多的信息。

    请看下面这个 XML 例子:

    <note>

    <to>George</to>

    <from>John</from>

    <body>Don't forget the meeting!</body>

    </note>

    让我们设想一下,我们创建了一个应用程序,可将 <to>、<from> 以及 <body> 元素提取出来,并产生以下的输出:

    MESSAGE

    To: George

    From: John

    Don't forget the meeting!

    想象一下,之后这个 XML 文档作者又向这个文档添加了一些额外的信息:

    <note>

    <date>2008-08-08</date>

    <to>George</to>

    <from>John</from>

    <heading>Reminder</heading>

    <body>Don't forget the meeting!</body>

    </note>

    那么这个应用程序会中断或崩溃吗?

    不会。这个应用程序仍然可以找到 XML 文档中的 <to>、<from> 以及 <body> 元素,并产生同样的输出。

    XML 的优势之一,就是可以经常在不中断应用程序的情况进行扩展

  • 相关阅读:
    C++笔记(2018/2/6)
    2017级面向对象程序设计寒假作业1
    谁是你的潜在朋友
    A1095 Cars on Campus (30)(30 分)
    A1083 List Grades (25)(25 分)
    A1075 PAT Judge (25)(25 分)
    A1012 The Best Rank (25)(25 分)
    1009 说反话 (20)(20 分)
    A1055 The World's Richest(25 分)
    A1025 PAT Ranking (25)(25 分)
  • 原文地址:https://www.cnblogs.com/a757956132/p/4712810.html
Copyright © 2020-2023  润新知