zoukankan      html  css  js  c++  java
  • 第二十五讲 ASP.NET中的XML

    *摘要
    。XML概述
    。XML和DataSet
    。XML的读写
    。XML文件操作
    。XML文件验证
    。案例

    *XML概述
    1.1什么是XML(eXtensible Markup Language)?
    -XML是标记语言
    -XML是可扩展的(eXtensible)标记语言。
    XML并非象HTML那样,提供了一组事先已经定义好了的标记,而是提供了一个标准,利用这个标准,可以根据实际需要定义自己的新的标记语言,并
    为这个标记语言规定它特有的一套标记。准确地说,XML是一种元标记语言,它允许程序开发人员根据它所提供的规则,制定各种各样的标记语言。

    1.2从HTML说起
    。HTML是专门为描述主页的表现形式而设计的,它疏于对信息语义及其内部结构的描述,不能适应日益增多的信息检索要求和存档要求。
    。HTML对表现形式的描述能力实际上也还是非常不够的,它无法描述矢量图形,科技符号和一些其他的特殊显示效果。
    。HTML的标记集日益臃肿,而其松散的语法要求使得文档结构混乱而缺乏条理,导致浏览器的设计越来越复杂,降低了浏览的时间效率与空间效率。


    1.3XML的优点
    。良好的可扩展性
    。内容与形式的分离
    。遵循严格的语法要求
    。便于不同系统之间信息的传输
    。具有较好的保值性

    1.7 XML语法
    。“格式良好的”XML文档
    。XML文档的逻辑结构
    。XML文档的物理结构

    *“格式良好的”XML文档
    。在XML中,“格式良好的”有着明确的标准,即是要遵守XML1.0规范的语法规则。无论是从物理结构上讲,还是从逻辑结构上讲,XML文档都必须符合规范,才能被正确解译处理。
    -文档包含一个或多个元素
    -文档中只存在一个称为根的元素,或文档元素,该元素无任何部分出现在其他元素中
    -元素必须正确关闭
    -元素不得交叉
    -属性值必须加引号
    *逻辑结构之一 XML声明
    <?xml version="1.0" encoding="GB2312" standalone="no"?>
    。一个XML文档最好以一个XML声明作为开始,它的作用就是告诉XML处理程序:“下面这个文档是按照XML文档的标准对数据进行标记的”。
    -version属性:指明所采用的XML版本号
    -standalone属性:这个属性表明该XML文档是否和一个外部的文档类型定义DTD配套使用
    -encoding属性:指明XML数据所采用的编码标准

    *逻辑结构之二 元素
    <标记 属性名="属性取值"...>数据内容</标记>
    。标记必不可少:XML文档至少要有一个元素
    。大小写有别:<HELLO>和<hello>截然不同
    。要有正确的结束标记:严格要求标记配对
    -结束标记要和起始标记在拼写和大小写上完全相同
    -必须在结束标记前面加上一个斜杠"/",如<hello>...</hello>
    -当一对标记之间没有任何文本内容时,可以使用“空标记”,如<hr/>
    。标记要正确嵌套:<a><b></a></b>是错误的
    。有效使用属性:属性以名称/取值对出现,名称与取值之间用等"="分隔,属性名不能重复,且取值用引号引起来
    。标记命名要合法:符命名规范

    *逻辑结构之三 CDATA节
    。在标记CDATA下,所有的标记,实体引用都被忽略,一律当作字符数据看待。
    -CDATA的文本内容中不能出现字符串"]]>"
    -CDATA不能嵌套
    <![CDATA[文本内容]]>

    <![CDATA[
     <联系人>
      <姓名>张三</姓名>
      <EMAIL>zhang@aaa.com</EMAIL>
     </联系人>
    ]]>

    *逻辑结构之四——注释
    。注释是用"<!--"和"-->"引起来的,注释文本永远不是真正的XML数据
    。在注释文本中不能出现"-"或字符串"--",XML处理器可能把它们和注释结尾标志"-->"相混淆
    。不要把注释文本放在标记之中
    <示例<!--一个XML的例子-->>错误
    。注释不能被嵌套
    <!--一个XML的例子
    <!--以上是一个注释-->
    -->   错误的

    * XML和数据集
    DataSet方法
    DataSet.ReadXml(string strFileName);
    DataSet.WriteXml(string strFileName);

    * XML,数据库?
    。用XML文件存储数据,可减少额外的服务器的负荷。
    。只要使用文本编辑器,而不必使用复杂的数据库工具就可以编辑。
    。XML方件很容易备份,容易上传和下载。
    。XML还有一个更抽象的优点,即作为层次型的格式比关系型的更好。
    。所有的服务器都是支持XML文件的。


    * XML文件的读写
    。foreach(XmlNode personElement in root.ChildNodes)
    。XmlTextWriter的使用


    * XML文件的操作
    XmlDocument的使用:
    。Load
    。SelectSingleNode
    。CreateElement
    。Save

    * XML文件的验证
    。XML文档验证和XML段落验证是使用XmlValidatingReader类实施的,该类通过实现W3C建议所定义的有效性约束来提供DTD、数据简化XML(XDR)和XML架构定义语言(XSD)架构验证服务。
    。XmlValidatingReader类实现XmlReader类,并以只时方式对XML流执行验证。

    *用XML传送图片
    。XmlDocument类的使用
    Byte[] bt=new Byte[size];
    String strData;
    。把字节组转换为字符串:
    -String str=Convert.ToBase64String(bt);
    。把字符串转换为字节组
    -bt=Convert.FromBase64String(strData);

  • 相关阅读:
    Redis知识点
    MySQL InnoDB存储引擎知识点
    Java BIO、NIO 背后的理论知识
    分布式锁 & 分布式事务
    Kafka监控与JMX
    集合类源码(八)Collection之Set(HashSet, LinkedHashSet, TreeSet,ConcurrentSkipListSet)
    Kafka 基础知识
    JDK SPI 、Spring SPI、Dubbo SPI机制
    给老子爬爬爬!2019国家统计局最新城乡划分代码
    Linux系统使用教程
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1429550.html
Copyright © 2011-2022 走看看