快速了解XML

263 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

1. XML 定义

可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

2. XML 展示

如下是一个xml的标记展示,XML 是不作为的XML 被设计用来结构化、存储以及传输信息,所以我们可以自由标记,只有我们赋予它什么意义他就有什么意义。
xml 用来简化数据共享、简化数据传输、简化平台的变更等功能。

<xml>
    <tag>标签</tag>
    <parent>
        <son>儿子</son>
        <daughter>女儿</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

3. XML 文档实例

XML 文档必须包含根元素。该元素是所有其他元素的父元素。

XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端。

encoding="utf-8" 用于指定该xml文档编码。

<?xml version="1.0" encoding="utf-8"?>
<xml>
    <tag>标签</tag>
    <parent>
        <son>儿子</son>
        <daughter>女儿</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

4. XML 其它特性

  • xml 省略关闭标签是非法的。所有元素都必须有关闭标签 <son>儿子</son>
  • 元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性,熟悉提供元素的额外信息。
<parent>
        父母拥有
        <son sex="属性:男">儿子</son>
        <daughter sex="属性:女">女儿</daughter>
 </parent>

5. XML 验证

拥有正确语法的 XML 被称为“形式良好”的 XML。

通过 DTD 验证的 XML 是“合法”的 XML。

W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema,所以DTD的规范基本被淘汰了,现在我们主流使用的都是XML Schema,也就是说XML Schema是一种可以描述XML文档结构的定义,如果你的xml文件遵循某一个XML Schema就可以通过再xml文件中制定遵循的XML Schema,XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。

<?xml version="1.0"?>
<xml
    xmlns="http://www.springsun.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springsun.com xml.xsd">
    <tag>标签</tag>
    <parent>
        <son>儿子</son>
        <daughter>女儿</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

其中xmlns是默认命名空间, xmlns:xsi 是一个行业默认标准,使用这个定义XMLSchema实例,xsi:schemaLocation指向XSD可访问的位置。

6. XML 命名空间

在 XML 中,元素名称是我们自由制定的,当两个不同的文档使用相同的元素名时,就会发生命名冲突,所以为了区分规定为标签可以加上前缀。

 <s:xml>
    <s:tag>标签</s:tag>
    <s:parent>
        <s:son>儿子</s:son>
        <s:daughter>女儿</s:daughter>
    </s:parent>
    <s:famliy>xml大家庭</s:famliy>
</s:xml>

而命名空间就是为了添加这个前缀,在根节点使用 xmlns 来规定前缀与某个特定标识对应以让它有意义。

 <s:xml xmlns:s="http://www.springsun.com">
    <s:tag>标签</s:tag>
    <s:parent>
        <s:son>儿子</s:son>
        <s:daughter>女儿</s:daughter>
    </s:parent>
    <s:famliy>xml大家庭</s:famliy>
</s:xml>

www.springsun.com 用于标示命名空间的地址。其惟一的作用是赋予命名空间一个惟一的名称,只是行业都是用某一个网页链接去标识。 为什么我们平时看到的例子里面没有加像xmlns:s这样的前缀标识,因为不加 :s 则标识默认命名空间,后面所有元素不加前缀的都在该命名空间下。

7.0 XSLT 显示 XML

使用 XSLT 显示 XML:使用 XSLT 在浏览器显示 XML 文件之前,先把它转换为 HTML,这样就可以按自定义样式显示xml数据到网页上。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xml.xsl"?>
<xml
    xmlns="http://www.springsun.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springsun.com xml.xsd">
    <tag>标签</tag>
    <parent>
        <son>儿子</son>
        <daughter>女儿</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

<?xml-stylesheet type="text/xsl" href="xml.xsl"?> 这个标记用于将xml按照xml.xsl的样式转换到html,如果浏览器支持xsl的话直接就可以显示出来(基本浏览器都支持), xsl可以去查看专门的介绍。

以上这些就可以对xml做一个快速入门了解,还有些其它知识用的时候再去检索下就行了,比如 CDATA 、XML DOM、XPath等。