• XML复习笔记(复习资料为菜鸟教程里的XML教程)


    XML 指可扩展标记语言(eXtensible Markup Language

    • XML 的设计宗旨是传输数据,而不是显示数据。
    • XML 标签没有被预定义。您需要自行定义标签。
    • XML 被设计为具有自我描述性。
    • XML 是 W3C 的推荐标准。

    XML和HTML的区别:XML 被设计用来传输和存储数据,HTML 被设计用来显示数据。

    XML 声明

    XML 声明文件的可选部分,如果存在需要放在文档的第一行,如下所示:

    <?xml version="1.0" encoding="utf-8"?>

    声明不是 XML 文档本身的一部分,它没有关闭标签。

    XML 标签对大小写敏感

    XML 属性值必须加引号

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

    &lt; < less than
    &gt; > greater than
    &amp; & ampersand
    &apos; ' apostrophe
    &quot; " quotation mark

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

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

    <!-- This is a comment -->

    在 XML 中,文档中的空格不会被删减。
    XML 以 LF 存储换行
    在 Windows 应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)。
    在 Unix 和 Mac OSX 中,使用 LF 来存储新行。
    在旧的 Mac 系统中,使用 CR 来存储新行。
    XML 以 LF 存储换行。

    最佳命名习惯

    使名称具有描述性。使用下划线的名称也很不错:<first_name>、<last_name>。

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

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

    <gangster name='George "Shotgun" Ziegler'>

    没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用元素。

    我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧。

    下面的三个 XML 文档包含完全相同的信息:
    第一个实例中使用了 date 属性:
    <note date="10/01/2008">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>
    第二个实例中使用了 date 元素:
    <note>
    <date>10/01/2008</date>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>
    第三个实例中使用了扩展的 date 元素(这是我的最爱):
    <note>
    <date>
    <day>10</day>
    <month>01</month>
    <year>2008</year>
    </date>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>

    避免 XML 属性?

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

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

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

  • 相关阅读:
    linux系统空间不足,不重启进程,清理僵尸文件。
    python练习-使用163邮箱发送邮件
    python练习-(秒转时分秒,时分秒转秒)-对比linux中文件的上次更改时间跟当前时间相差多久。
    CentOS7 docker开启tcp端口并进行客户端远程连接
    zabbix 定义触发器,并使用邮件,微信消息报警。
    zabbix自定义监控,自定义图表。
    如何在linux中发送邮件,使用163邮箱发信。
    ansible-playbook的YAML语法学习
    将已有项目导入Gitlab
    ubuntu python PyCharm virtualenv
  • 原文地址:https://www.cnblogs.com/lakeslove/p/7074292.html
Copyright © 2020-2023  润新知