zoukankan      html  css  js  c++  java
  • ASP.NET 2.0 XML 系列(1): XML介绍

    1.1 简介

    XML的一个强大之处在于它的强大可扩展性。XML没有定义自己的标签,你可以创建你自己的标签,形成你自己的词汇表。XML关注的是内容,而不是表现,你创建的标签主要用来阻止数据而不是表现数据。
    (a).
    <H1>ASP.NET XML 系列</H1>
    <
    p>Author: Jack Wang</p>

    (b).
    <articles>
    <
    title>Asp.net xml系列</title>
    <
    author>Jack Wang</author>
    </
    articles>

    很明显第二种更容易为人类理解

    1.2 基本术语:

    格式良好
    如果文档符合由XML规范定义的格式良好的规定,那么该文档就被认为是格式良好的,规定如下:
    文档包含一个或多个元素
    文档只有一个根元素(也就是文档元素)
    元素的结束标签名称与开始标签的名称一致
    在一个元素中属性只能出现一次
    属性值不能包含左尖括号(<)
    由开始和结束标签界定的元素必须互相正确地嵌套
    有效性
    有效之前,必须是格式良好的,为了达到有效,XML文档必须经过验证。可以通过DTD(Document Type Definition)或者XML模式(XML Schema Definition)来对文档进行验证。

    1.3 XML文档的组成部分

    XML是一种用来描述数据并构建数据的语言,XML数据包含在文档中,这个文档可以是一个文本、一个数据流或者任何其他能够保存文本的存储介质,现实的或者虚拟的。一个正确的XML文档以如下XML申明开始,制定文档内容将要符合的XML版本
    <?xml version="1.0" >
     XML还可以包含编码属性,用来定义文档的字符类型。
    <?xml version="1.0" encoding="utf-8"?>
    如果文档由UTF-8或者UTF-16字符组成,那么编码属性是可选的,因为XML解析器可以解析文档的前5个字符'<?xml'. XML声明其实是XML处理指令的特殊格式,其中包含了XML处理器的指令。处理指令一般在<?和?>之间。

    1. 元素

      元素名称必须符合XML规范中预先描述的一套规则,你可以在http://www.w3c.org/TR/REC-xml上阅读。规范着重强调元素名称可以由字母或者下划线开头,后跟字母、数字、句点、连字符和下划线。元素名称中不允许空格。元素是XML文档的构件,可以包含数据、其它元素或者同时包含,并且总是以开始和结束标签分界。XML没有预定义元素。 <?xml version="1.0" encoding="utf-8"?>

      <articles>
      <article>
      <title>Asp.net xml系列</title>
      <author>Jack Wang</author>
      <publishdate>2008-03-15</publishdate>
      </article>
      <article>
      <title>C# xml系列</title>
      <author>Jack Wang</author>
      <publishdate>2009-03-15</publishdate>
      </article>
      <article>
      <title>xml系列</title>
      <author>Jack Wang</author>
      <publishdate/>
      </article>
      </articles>


      <
      articles>
      是文档的元素,<article><articles>的子元素<title><author><publishdate><article>的子元素,<publishdate/>空元素可以这样写(既没有数据的元素)。

    2. 属性
      <title maintitle="ASP.NET">Asp.net xml系列</title> maintitle就是属性。

    3. CDATA、PCDATA和实体引用
      出现在<![CDATA[和 ]]>标签之间的数据就是CDATA,而其他的数据就是PCDATA(Parsed character Data). XML解析器会忽略CDATA标签中的内容。
      <price><![CDATA[0<bookprice<1000]]></price>

      另一种表达方法是把它们替换成实体引用

    4. 命名空间 
      <article>
      <title>xml系列</title>
      <author>
      <title>Mr</title>
      <nickName>Jack</nickName></author>
      <publishdate/>
      <price><![CDATA[0<bookprice<1000]]></price>
      </article>

    我们可以看到上面两个title表示不同的语义,但是无法区分,同样这种问题也会出现在多个文档组织在一起时。所以我们需要加上命名空间,作用就是和C#里的一样。
    声明命名空间
    Xmlns—指定值作为xml的命名空间,他是申明命名空间所必需的,并且可以附加在任何 XML元素上。
    Prefix---指定一个命名空间的前缀,如果使用了该前缀,那么文档中任何使用该前缀(prefix:element)的任何元素被认为是位于申明的命名空间范围之内.
    namespaceURI—指定命名空间唯一标识符。不必指向一个实际的WEB资源。

    <?xml version="1.0" encoding="utf-8"?>
    <articles xmlns="http://cnblogsfans.cnblogs.com/Asp.net_xml/article">
    <article>
    <title maintitle="ASP.NET" >Asp.net xml系列</title>
    <author>Jack Wang</author>
    <publishdate>2008-03-15</publishdate>
    </article>
    <article>
    <title>C# xml系列</title>
    <author>Jack Wang</author>
    <publishdate>2009-03-15</publishdate>
    </article>
    <article>
    <title>xml系列</title>
    <author xmlns:mytitle="http://cnblogsfans.cnblogs.com/Asp.net_xml/article/author">
    <mytitle:title>Mr</mytitle:title>
    <nickName>Jack</nickName>
    </author>
    <publishdate/>
    <price><![CDATA[0<bookprice<1000]]></price>
    </article>
    </articles>

    扫码关注公众号,了解更多管理,见识,育儿等内容

    作者: 王德水
    出处:http://www.cnblogs.com/cnblogsfans
    版权:本文版权归作者所有,转载需经作者同意。

  • 相关阅读:
    GO语言(golang)官方网站!
    Android官方网站!
    如何使用Gmail的别名功能?
    函数指针
    单例 ------ JAVA实现
    网络通信方案 ------ 以太网通信软硬件实现方案
    nginx的启动和关闭
    FineReport软件
    nginx的MainLine version、Stable version、Legacy versions
    linux常用命令
  • 原文地址:https://www.cnblogs.com/cnblogsfans/p/1107011.html
Copyright © 2011-2022 走看看