xml理论学习总结

来源:互联网 发布:网络拓扑设计思想 编辑:程序博客网 时间:2024/06/05 09:13

已经丢下c#快一年多了,现在重新捡起来需要勇气,勇往直前,这是在学习过程中的一点积累,和大伙分享下。

有点html基础的会有这样一个概念,xml和html他们的标签组很相似。初一看的时候就不知道xml的用途是什么了,这时候不用担心:

XML:

xml(Extensible Markup Language)字面上理解为可扩展的标记语言,它是一种以简单文本格式存储数据的方式,这就意味着他可以被任何计算机读取。
html是超级文本标记语言,用来给用户提供网页的模式,将数据和元素通过视觉的效果展示过来的。

XML元素:

xml元素和html元素基本差不多都是用<Element></Element>标记,和html之间也是有区别的

xml是必须采用头尾相接,不然就是非法的,代码就会报错。但是html不同,大伙可以尝试。

xml元素不允许重叠,因此在父元素的结束标记之前关闭所有元素

xml允许有“空”元素,也就是没有内嵌的数据或者文本

<span style="font-size:14px;"><?xml version="1.0"?><book>   <title>Sunny day</title>   <auther> Demo </auther></span><span style="font-family: Arial, Helvetica, sans-serif;"><strong style="font-size:14px;">  </strong><span style="font-size:12px;"> <size></size></span></span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:12px;"></book></span></span>
或者使用简短的语法

<book></book>→<book />

XML特性:

除了在元素体内存储数据外,也可以在特性内存存储数据

<book title="Sunny day" />或者<book title='Sunny day'></book>
这些都是合法的


XML声明:

xml我们可以将其形象的理解成一颗树,从根部起会有较多的枝干叶。
XML声明的格式类似于标签,但是在一队尖括号内有问号。他的名称始终都是xml,并有version(版本)的特性;现在有两个xml的版本1.0和1.1两个版本。但是1.1版本并没有给windows平台上使用xml做什么改进,而且w3c建议尽可能使用1.0版本因此声明就是

<?xml version="1.0"?>

XML有效的格式说明:

xml对文档的要求如下:

  • 有且只有一个根节点
  • 每个元素都在结束标记
  • 没有重叠元素-所有子元素必须完全嵌套在父元素内
  • 所有特性必须放在引号内


xml文档的验证

xml支持通过两种方法,来定义在文档中可以放置那些元素和特性,及其放置顺序--文档类型定义(Document Type Definitions,DTD)和模式。DDT不了解,好像是说事继承了非XML语言。

在模式上面验证的话有三种方式,自己去百度,要求有点高,不是很理解 ,但是在XmlDocument中显示XSD对话框这个验证文档的方式大伙可以去尝试


xml文档对象模型DOM(Document Object Model )是一组以非常直观的方式访问和处理xml的类;

XmlNote:表示一个节点,同时是蛮多类的基类,如果这个节点正好是xml文档的根,就可以从他导航到文档的任意位置

XmlDocument :扩展了XmlNote内,但通常使用Xml的第一个对象。

XmlElement:表示Xml文档中的一个元素

XmlAttribute:表示一个属性

XmlText:表示开始标记和结束标记之间的文本

XmlComment:表示一种特殊类型的节点,这个节点不是文档的一部分

XmlNodeList:表示一个节点集合


XmlDocument类

用途:加载、保存xml和维护xml结构

XmlElement类

当XmlDocument实例化的DocumentElement属性会返回一个XmlElement实例(表示XmlDocument的根节点)

FirstChild:返回当前节点之后的第一个子节点;

LastChild:返回当前节点的最后一个子节点(利用树形结构去思考)

<books> RootNote   <book>  --LastChild      <a></a>      <b></b>   </book></books>
ParentNote:返回当前节点的父节点

NetSIbling:返回与父节点相同下的一个节点

HasChildNote:检测当前元素时候有子元素


0 0