XML的简单了解

XML的简单了解


前言:

因为最近计划学一下爬虫中用Xpath解析数据,所以专门来简单理解一下XML,仅是简单概念

 

 


XML简介:

XML:eXtensible Markup Language(经常作为接口语言使用)

XML和HTML同为标签语言,都是基于文本编辑和修改,都可以通过DOM  变成方式来访问,也都可以通过CSS来改变外观。

但是仍有本质性区别:

  •  XML(可扩展标记语言)是用来描述数据、存放数据的,其设计目标是描述数据并集中于数据的内容,所以侧重于数据存储。
  • HTML(超文本标记语言) 是用来显示数据的,其设计目标是显示数据并集中于数据外观,所以侧重于数据展示。
  • XML中结构和样式分离。
  • HTML中结构和样式结合。
  • XML标签大小写必须一致。
  • HTML标签大小写可以不一致。
  • 在 XML 中,空格会被保留。
  • 在HTML中,空格会被删节。

另外,HTML中的标签是固定的关键字,而在XML中可以自己定义标签(在utf-8的编码集下,甚至可以用汉字作为标签,但是尽量用小写英文)

 


语法标准:

  • 每个XML文件要声明一个处理指令(从而告诉浏览器这是xml内容,让浏览器直接解释运行)
<?xml version="1.0" encoding="utf-8"?>
  • 标签必须闭合
<abc></abc>  //双标签
<abc />      //单标签
  • XML本质是结点树结构,必须有且仅有一个根节点
  • 标签可以嵌套,单不能交叉
  • 标签可以由字母、数字、下划线、点、短横线 组成
  • XML中标签属性必须有值,值必须有引号

  •  特殊符号使用符号实体
空格:&nbsp;
&:&amp;
‘:&apos;
":&quot;
>:&gt;
<:&lt

CDATA节:

如果一大段内特殊符号太多,可以直接用<![CDATA[内容]]>


XML的结点性

xml本身是由很多结点(Node)组成的:

  • 元素结点
  • 文本结点
  • 属性结点
  • 注释结点(<–注释内容–>)
  • CDATA结点
  • 文本结点
  • 文档结点

例如:

<?xml version="1.0" encoding="utf-8" ?>
<students>
	<student addr='shenzhen'>
		<class>333</class>
		<name>Dong</name>
                <intro><![CDATA[Dong like <123>]]></intro>
                <!--Dong is a good student-->
	</student>
</students>

其中,students、student、class、name都是元素结点;addr是属性结点;333、Dong是文本结点;<!–Dong is a good student–>是注释结点;<![CDATA[Dong like <123>]]>是CDATA结点;而在students的最外面,还有一个文档结点。

XML DOM 把 XML 文档视为一种树结构。这种树结构被称为节点树
可通过这棵树访问所有节点。可以修改或删除它们的内容,也可以创建新的元素。
这颗节点树展示了节点的集合,以及它们之间的联系。这棵树从根节点开始,然后在树的最低层级向文本节点长出枝条:


 

 

 

 

 

 

 

商业转载 请联系作者获得授权,非商业转载 请标明出处,谢谢

发表评论

是的,我就是计算机界的枭雄!