XML 元素

  • 定义和使用

    XML 元素是从(包括)元素的开始标记到(包括)元素的结束标记的所有内容。
    <price>29.99</price>
    
    
    元素可以包含:
    • 文本
    • 属性
    • 其他要素
    • 或是以上的混合
    <bookstore>
    <book category="children">
        <title>中国历史</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="web">
        <title>学习 XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
    </bookstore>
    
    
    在上面的例子中:
    <title>、<author>、<year>和<price>包含文本内容,因为它们包含文本(如29.99)。
    <bookstore>和<book>具有元素内容,因为它们包含元素。
    <book>有一个属性(category="children")。
  • XML 空元素

    没有内容的元素称为空。
    XML 中,可以指示如下空元素:
    <element></element>
    
    
    也可以使用所谓的自动关闭标记:
    <element />
    
    
    这两种形式在 XML 软件(阅读器、解析器、浏览器)中产生相同的结果。
    空元素可以有属性。
  • XML命名规则

    XML 元素必须遵循以下命名规则:
    • 元素名区分大小写
    • 元素名称必须以字母或下划线开头
    • 元素名不能以字母 xml(或xml,或xml等)开头
    • 元素名称可以包含字母、数字、连字符、下划线和句点
    • 元素名不能包含空格
    可以使用任何名称,不保留任何单词(xml除外)。
  • 最佳命名实践

    创建描述性名称,如:<person>,<firstname>,<lastname>。
    创建简单的短名称,例如:<book_title> 而不是这样:<the_title_of_the_book>。
    避免“-”。如果你给某物命名为“name”,一些软件可能会认为你想从“name”中减去“name”。
    避开“.”。如果你给某物命名为“first.name”,一些软件可能会认为“name”是对象“first”的属性。
    避免“:”。冒号是为名称空间保留的(稍后介绍)。
    像 reunce 这样的非英语字母在 XML 中是完全合法的,但是如果您的软件不支持它们,请注意问题。
    没有为 XML 元素定义命名样式。但这里有一些常用的:
    命名样式 示例 描述
    小写 <firstname> 所有字母小写命名样式
    大写 <FIRSTNAME> 所有字母大写命名样式
    下划线 <first_name> 下划线分隔单词
    首字母大写 <FirstName> 每个单词的大写首字母
    驼峰型 <firstName> 每个单词中除第一个字母外的大写第一个字母
    如果你选择一个命名风格,它是很好的一致性!
    XML 文档通常有相应的数据库;一种常见的做法是对 XML 元素使用数据库的命名规则。
    驼峰型是JavaScripts中常见的命名规则。
  • XML元素是可扩展的

    可以扩展 XML 元素以携带更多信息。
    请看下面的 XML 示例:
    <note>
        <to>Tove</to>
        <from>Jani</from>
        <body>这个周末别忘了我!</body>
    </note>
    
    
    假设我们创建了一个应用程序,该应用程序从XML文档中提取了<to>、<from>和<body>元素以生成此输出:

    Note

    To: Tove
    From: Jani
    这个周末别忘了我!
    假设 XML 文档的作者在其中添加了一些额外的信息:
    <note>
        <date>2020-04-07</date>
        <to>Tove</to>
        <from>Jani</from>
        <heading>Reminder</heading>
        <body>这个周末别忘了我!</body>
    </note>
    
    
    应用程序应该中断还是崩溃?
    不。应用程序应该仍然能够在 XML 文档中找到<to>、<from>和 <body>元素,并生成相同的输出。
    这是 XML 的优点之一。它可以扩展而不破坏应用程序。