源代码下载: 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 协定进行许可。