• 雷林鹏分享:XML 属性


      XML 属性

      XML元素具有属性,类似 HTML。

      属性(Attribute)提供有关元素的额外信息。

      XML 属性

      在 HTML 中,属性提供有关元素的额外信息:

      

      

      属性通常提供不属于数据组成部分的信息。在下面的实例中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:

      computer.gif

      XML 属性必须加引号

      属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 元素可以这样写:

      

      或者这样也可以:

      

      如果属性值本身包含双引号,您可以使用单引号,就像这个实例:

      

      或者您可以使用字符实体:

      

      XML 元素 vs. 属性

      请看这些实例:

      

      Anna

      Smith

      

      

      female

      Anna

      Smith

      

      在第一个实例中,sex 是一个属性。在第二个实例中,sex 是一个元素。这两个实例都提供相同的信息。

      没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧。

      我最喜欢的方式

      下面的三个 XML 文档包含完全相同的信息:

      第一个实例中使用了 date 属性:

      

      Tove

      Jani

      Reminder

      Don't forget me this weekend!

      

      第二个实例中使用了 date 元素:

      

      10/01/2008

      Tove

      Jani

      Reminder

      Don't forget me this weekend!

      

      第三个实例中使用了扩展的 date 元素(这是我的最爱):

      

      

      10

      01

      2008

      

      Tove

      Jani

      Reminder

      Don't forget me this weekend!

      

      避免 XML 属性?

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

      属性不能包含多个值(元素可以)

      属性不能包含树结构(元素可以)

      属性不容易扩展(为未来的变化)

      属性难以阅读和维护。请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

      不要做这样的蠢事(这不是 XML 应该被使用的方式):

      

      to="Tove" from="Jani" heading="Reminder"

      body="Don't forget me this weekend!">

      

      针对元数据的 XML 属性

      有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 id 属性是一样的。这个实例向我们演示了这种情况:

      

      

      Tove

      Jani

      Reminder

      Don't forget me this weekend!

      

      

      Jani

      Tove

      Re: Reminder

      I will not

      

      

      上面的 id 属性仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分。

      在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。

      (编辑:雷林鹏 来源:网络)

  • 相关阅读:
    PAT (Basic Level) Practise 1013 数素数
    PAT (Basic Level) Practise 1014 福尔摩斯的约会
    codeforces 814B.An express train to reveries 解题报告
    KMP算法
    rsync工具
    codeforces 777C.Alyona and Spreadsheet 解题报告
    codeforces 798C.Mike and gcd problem 解题报告
    nginx + tomcat多实例
    MongoDB副本集
    指针的艺术(转载)
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10594202.html
Copyright © 2020-2023  润新知