xml开始使用xml


备注

XML是一种标记语言,用于在文本文件中存储分层数据。它也被称为半结构化数据,如JSON。 XML是机器可读的,但也可以由人们阅读和制作。

XML由元素组成,有时随便称为标记汤 ,它本身可以包含其他元素和/或文本。元素也可能包含属性。

XML通常用于平台之间的数据交换,尤其是在互联网上。它还越来越多地用于在NoSQL数据存储(XML数据库/文档存储)中存储半结构化数据。此外,它还可以灵活地处理面向文档的数据(带有标记的文本),这使得它在出版业中非常流行。 XML也广泛用于配置文件。

XML如此广泛使用的一个主要原因是它是标准化的,有许多解析器可用,包括开源。这使得使用XML的成本低于自己的新语法的发明。

有关XML的起源和目标的更多信息可以在官方的W3C建议书中找到。

有两个版本的XML,如下表所示。每个版本的版本只是原始文档的修订版,而不是标准的更改。

XML的第一个版本是1.0 。由于Unicode版本从2.0更改为3.1,XML 1.1主要更改,并为新Unicode字符的使用和解释指定了一组新规则。

版本

发布日期
1.0 1998年2月10日
1.1 2001年12月13日

你好,世界

<?xml version="1.0"?>
<?speech-generator voice="Siri"?>
<root xmlns:vocabulary="http://www.example.com/vocabulary">
  <!-- These are the standard greetings -->
  <vocabulary:greetings>
    <vocabulary:greeting xml:lang="en-US" type="informal">
      Hi!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="intermediate">
      Hello!
    </vocabulary:greeting> 
    <vocabulary:greeting xml:lang="en-US" type="formal">
      Good morning to <b>you</b>!
    </vocabulary:greeting> 
  </vocabulary:greetings>
</root>
 

安装或设置

XML是一种语法,这意味着简单的文本编辑器就足以开始了。

但是,使用特定于XML的编辑器可以显示文档格式不正确的时间和位置,这对于提高工作效率几乎是不可或缺的。这些编辑器还可以允许您根据XML Schema验证XML文档,甚至可以从XML文档生成XML Schema(反之亦然)。

编辑器的一些示例是oXygen,Atom,Eclipse和Altova XMLSpy。另一种解决方案是使用命令行XML解析器,例如Apache Xerces。

命名空间

元素和属性名称位于URI的名称空间中。命名空间绑定到实际元素和属性名称中使用的前缀,称为QNames。

此文档将命名空间绑定到前缀prefix 并定义默认命名空间,绑定缺少前缀。

<?xml version="1.0"?>
<document
    xmlns="http://www.example.com/default-namespace"
    xmlns:prefix="http://www.example.com/another-namespace">
  <prefix:element/>
</document>
 

有关命名空间的更多详细信息,请参阅本主题

基本构建块

XML由基本构建块组成,它们是:

  • 元件
  • 文本
  • 属性
  • 评论
  • 处理说明

元素具有尖括号:

<element/>

<element>some content</element>
 

属性出现在开始元素标记中:

<element
  attribute-name="attribute value"
  other-attribute='single-quoted value'>
  ...
</element>
 

文本可以出现在元素内或元素之间:

<element>some more <b>bold</b> text</element>
 

注释使用以下语法。重要的是要知道,与编程语言不同,XML注释是模型的一部分,并且对于解析器上方的应用程序是可见的。

<!-- this is a comment -->
 

处理指令允许将消息传递给消费应用程序(例如,如何显示或样式表等)。 XML不限制处理指令的格式。

<?target-application these are some instructions?>
 

有关构建块的更多详细信息,请参阅本主题

良构

XML文档是符合XML规范良构规则的文本文件。据说这种符合要求的文件格式正确 (不要与有效文件混淆)。与其他语言(如HTML)相比,XML非常严格,格式良好。格式不正确的文本文件不被视为XML,根本不能使用应用程序。

以下是一些适用于XML文档的规则:

  1. XML使用了很多自我描述的语法。 prolog定义XML版本和字符编码:

    <?xml version="1.0" encoding="UTF-8"?>
     
  2. 必须只有一个顶级元素。

    但是,顶级也允许使用注释,处理指令以及初始XML声明。文本和属性不是。

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
     
  3. 元素可以嵌套,但必须“正确嵌套”:

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
     

    嵌入元素的开始和结束标记必须位于其容器元素的开始和结束标记内。元素的重叠是非法的。特别是,这不是格式良好的XML: <foo><bar></foo></bar>

  4. 属性可能只出现在开始元素标签或空元素标签中,而不是在关闭元素标签中。如果属性语法出现在元素之间,则它没有意义并被解析为文本。

    <person first-name="John" last-name="Doe"/>
     

    这个格式不正确: <person></person first-name="John"/>

  5. 注释,处理指令,文本和其他元素可以出现在元素内的任何位置(即,在其开始和结束标记之间),但不能出现在标记内。

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
     

    此示例格式不正确: <element <-- comment --> />

  6. < 字符可能不会出现在文本或属性值中。

  7. " 字符可能不会出现在引用的属性值中"' 字符可能不会出现在引用' 属性值中。

  8. 字符序列-- 可能不会出现在评论中。

  9. 文字<& 字符必须由它们各自的实体转义&lt;&amp;