加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML 学习

发布时间:2020-12-16 00:30:40 所属栏目:百科 来源:网络整理
导读:XML介绍 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准 一个 XML 文档实
  • XML介绍
    • XML 指可扩展标记语言(EXtensible Markup Language)
    • XML 是一种标记语言,很类似 HTML
    • XML 的设计宗旨是传输数据,而非显示数据
    • XML 标签没有被预定义。您需要自行定义标签。
    • XML 被设计为具有自我描述性。
    • XML 是 W3C 的推荐标准
  • 一个 XML 文档实例
    • <?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>
  • XML 文档形成一种树结构
    • <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>
  • 所有 XML 元素都须有关闭标签
    • <p>This is another paragraph</p>
  • XML 标签对大小写敏感
    • <Message>这是错误的。</message>
  • XML 必须正确地嵌套
  • XML 文档必须有根元素
  • XML 的属性值须加引号
    • <note date="08/08/2008">
      <to>George</to>
      <from>John</from>
      </note>
  • 实体引用
    • 在 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 中的注释:<!-- This is a comment -->
  • 在 XML 中,空格会被保留
    • HTML 会把多个连续的空格字符裁减(合并)为一个:
      • HTML: Hello my name is David.
      • 输出: Hello my name is David.
    • 在 XML 中,文档中的空格不会被删节。
  • XML 命名规则
    • XML 元素必须遵循以下命名规则:
      • 名称可以含字母、数字以及其他的字符
      • 名称不能以数字或者标点符号开始
      • 名称不能以字符 “xml”(或者 XML、Xml)开始
      • 名称不能包含空格
    • 可使用任何名称,没有保留的字词。
  • XML 属性
    • XML 属性必须加引号
    • 属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 标签可以这样写:
    • <person sex="female">或者这样也可以:<person sex='female'>
    • 注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:
      • <gangster name='George "Shotgun" Ziegler'>
      • 或者可以使用实体引用:<gangster name="George &quot;Shotgun&quot; Ziegler">
    • 元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
  • 验证 XML 文档
    • 合法的 XML 文档是“形式良好”的 XML 文档,同样遵守文档类型定义 (DTD) 的语法规则:
      • <?xml version="1.0" encoding="ISO-8859-1"?>
      • <!DOCTYPE note SYSTEM "Note.dtd">
      • <note>
      • <to>George</to>
      • <from>John</from>
      • <heading>Reminder</heading>
      • <body>Don't forget the meeting!</body>
      • </note>
    • 在上例中,DOCTYPE 声明是对外部 DTD 文件的引用。
    • XML DTD
    • DTD 的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:
      • <!DOCTYPE note [
      • <!ELEMENT note (to,from,heading,body)>
      • <!ELEMENT to (#PCDATA)>
      • <!ELEMENT from (#PCDATA)>
      • <!ELEMENT heading (#PCDATA)>
      • <!ELEMENT body (#PCDATA)>
      • ]>
    • XML Schema
    • W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:
      • <xs:element name="note">

      • <xs:complexType>
      • <xs:sequence>
      • <xs:element name="to" type="xs:string"/>
      • <xs:element name="from" type="xs:string"/>
      • <xs:element name="heading" type="xs:string"/>
      • <xs:element name="body" type="xs:string"/>
      • </xs:sequence>
      • </xs:complexType>

      • </xs:element>
  • 根据 DTD 来验证 XML
    • 只要把 DOCTYPE 声明添加到您的 XML 中,然后点击验证按钮即可:
      • <?xml version="1.0" ?>
      • <!DOCTYPE note [
      • <!ELEMENT note (to,body)>
      • <!ELEMENT to (#PCDATA)>
      • <!ELEMENT from (#PCDATA)>
      • <!ELEMENT heading (#PCDATA)>
      • <!ELEMENT body (#PCDATA)>
      • ]>
      • <note>
      • <to>George</to>
      • <from>John</Ffrom>
      • <heading>Reminder</heading>
      • <body>Don't forget the meeting!</body>
      • </note>
  • 使用CSS 现实 XML
  • <?xml version="1.0" encoding="ISO-8859-1"?>
    <?xml-stylesheet type="text/css" href="cd_catalog.css"?>
    <CATALOG>
      <CD>
        <TITLE>Empire Burlesque</TITLE>
        <ARTIST>Bob Dylan</ARTIST>
        <COUNTRY>USA</COUNTRY>
        <COMPANY>Columbia</COMPANY>
        <PRICE>10.90</PRICE>
        <YEAR>1985</YEAR>
      </CD>
      <CD>
        <TITLE>Hide your heart</TITLE>
        <ARTIST>Bonnie Tyler</ARTIST>
        <COUNTRY>UK</COUNTRY>
        <COMPANY>CBS Records</COMPANY>
        <PRICE>9.90</PRICE>
        <YEAR>1988</YEAR>
      </CD>
    .
    .
    .
    .
    </CATALOG>
  • 使用 XSLT 显示 XML
    • XSLT 是首选的 XML 样式表语言。XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善。
    • 下面是此 XML 文件的一个片断。 第二行,<?xml-stylesheet type="text/xsl" href="simple.xsl"?>,把这个 XML 文件链接到 XSL 文件:
    • <?xml version="1.0" encoding="ISO-8859-1"?>
      <?xml-stylesheet type="text/xsl" href="simple.xsl"?>
      <breakfast_menu>
        <food>
          <name>Belgian Waffles</name>
          <price>$5.95</price>
          <description>
             two of our famous Belgian Waffles
          </description>
          <calories>650</calories>
        </food>
      </breakfast_menu>


参考链接:XML系列教程

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读