导航

什么是XML?

一、什么是xml?
1、定义:可扩展标记性语言(EXtensible Markup Language)
2、特定:xml是具有自描述特性的半结构化数据。
3、作用:xml主要用来传输数据
二、xml和html的区别?
1、语法要求不同:xml的语法要求更严格。
(1)在html中不区分大小写,在xml中严格区分
(2)在html中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>标记。在xml中,是严格的树状结构,绝对不能省略任何标记。
(3)在xml中,拥有单个标记二没有匹配的结束标记的元素必须用一个/字符作为结尾。<a href=’www’/>
(4)在xml中,属性值必须分装在引号中。在html中,引号可用可不用。
(5)在html中属性名可以不带属性值,xml必须带
(6)xml文档中,空白部分不会被解析器自动删除,但是html是过滤掉空格的
2、标记不同
 ·(1)html使用固有的标记,xml没有固有标记
·(2)html标签是预定义的,xml标签是自定义的、可扩展的。
3、作用不同
(1)html的设计宗旨是用来显示数据。
(2)xml使用来传输数据的。

三、xpath(语法)--就相当于一个路径一样--重点
1、什么xpath?
xpath就是用来筛选html或者xml中元素语法。
2、xml和html中一些名字。
元素
标签
属性
内容
3、xpath的语法
(1)选取节点
. --当前节点
.. ---代表父节点
/---从根节点开始选
// ---从文档中的任意位置
nodename---选取标签或元素
@属性名---选取属性名所对应的属性值
text()----选取内容
(2)谓语:语言中就是用来限定主语的成分。
a、可以通过位置限定
[数字]选取第几个----//body/div[3]
[last()]:选取最后一个//body/div[last()]
[last()-1]:选取倒数第二个//body/div[last()]
[position()>1]:选取位置大于1----//dl/dd[position()>1]
b、通过属性限定
[@class='属性值']:选取class属性等于属性值的。----//div[@class="container"]
[contains(@href,'baidu')]:选取属性名为href的属性值包含baidu的标签--//a[contains(@href,"1203")]
c、通过子标签的内容来限定
//book[price>35]--选取book标签的price字标签的内容大于35的book标签。

四、lxml模块:python用来解析xml和html模块,用这个模块就可以使用xpath语法。
第三方模块:pip install lxml

 

 

 

 

xpath方法返回的都是列表,查元素和标签的时候装的是对象,查属性和元素的时候,装的是字符串?

 

posted on 2020-02-14 12:33    阅读(830)  评论(0编辑  收藏  举报