关于xml:Y-分钟速成-XML

3次阅读

共计 2021 个字符,预计需要花费 6 分钟才能阅读完成。

源代码下载:learnxml-cn.xml

XML 是一种标记语言,被设计用来存储数据和传输数据。

不像 HTML , XML 不指定怎么显示或格式化数据,只是携带它。

  • XML 语法
<!-- XML 中的注解像这样 -->

<?xml version="1.0" encoding="UTF-8"?>
<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 文件。它以一个申明开始,告诉一些元数据(自选的)XML 应用一个树的构造。下面的文件中,根节点是 'bookstore',它有三个孩子节点,所有的 'books'。那些节点有更多的孩子节点,等等。。。节点用凋谢 / 敞开标签创立,并且孩子就是在开发和敞开标签之间的节点。-->



<!-- XML 携带两类信息:
  1 - 属性 -> 那是对于一个元素的元数据。通常,XML 解析器应用这些信息去正确地存储数据。它通过在凋谢标签里呈现在插入语中来示意。2 - 元素 -> 那是纯数据。那就是解析器将从 XML 文件提取的货色。元素呈现在凋谢和敞开标签之间,没插入语。-->
      
  
<!-- 上面, 一个有两个属性的元素 -->
<file type="gif" id="4293">computer.gif</file>

  • 良好格局的文件 x 验证

一个 XML 文件是良好格局的如果它是语法正确的。
然而,应用文件定义,比方 DTD 和 XML 概要,在文件中插入更多的限度是可能的。

一个恪守一个文件定义的 XML 文件被叫做无效的,对于那个文件来说。

有了这个工具,你可能在应用逻辑之外查看 XML 数据。

<!-- 上面, 你可能看到一个简化版本的减少了 DTD 定义的 bookstore 文件。-->

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Bookstore.dtd">
<bookstore>
  <book category="COOKING">
    <title >Everyday Italian</title>
    <price>30.00</price>
  </book>
</bookstore>

<!-- 这个 DTD 可能是像这样的:-->

<!DOCTYPE note
[<!ELEMENT bookstore (book+)>
<!ELEMENT book (title,price)>
<!ATTLIST book category CDATA "Literature">
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>


<!-- 这个 DTD 以一个申明开始。接下来, 根节点被申明,它须要一个或多个孩子节点 'book'。每个 'book' 应该精确蕴含一个 'title' 和 'price' 和
  一个被叫做 'category' 的缺省值为 "Literature" 的属性。这个 'title' 和 'price' 节点蕴含一个解析过的字符数据。-->

<!-- 这个 DTD 能够在 XML 文件中自身被申明。-->

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

<!DOCTYPE note
[<!ELEMENT bookstore (book+)>
<!ELEMENT book (title,price)>
<!ATTLIST book category CDATA "Literature">
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>

<bookstore>
  <book category="COOKING">
    <title >Everyday Italian</title>
    <price>30.00</price>
  </book>
</bookstore>

有倡议?或者发现什么谬误?在 Github 上开一个 issue,或者发动 pull request!


原著 João Farias,并由 0 个好心人批改。
© 2022 João Farias
Translated by: Zach Zhang
本作品采纳 CC BY-SA 3.0 协定进行许可。

正文完
 0