XSLT解惑

XSLT简介

XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。

XPath 是一种用于在 XML 文档中进行导航的语言。

了解 XPath 访问——我(点我)

了解 XML 访问——

什么是XSLT

在学一样东西的时候我也经常这样问我自己,并努力去寻找答案

官方一点的回答:

XSLT 指 XSL 转换(XSL Transformations)
XSLT 是 XSL 中最重要的部分
XSLT 可将一种 XML 文档转换为另外一种 XML 文档
XSLT 使用 XPath 在 XML 文档中进行导航
XSLT 是一个 W3C 标准
参考:http://www.runoob.com/xsl/xsl-client.html

XSLT = XSL 转换

XSLT 是 XSL 中最重要的部分

使用 XSLT 将 XML 转换为 XHTML
XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。 通过 XSLT,您可以向输出文件添加元素和属性,或从输出文件移除元素和属性。您也可重新排列并分类元素,执行测试并决定隐藏或显示哪个元素,等等。 描述转化过程的一种通常的说法是,XSLT 把 XML 源树转换为 XML 结果树。

XSLT使用XPath

XSLT使用XPath 在XML文档中查找信息,XPath被用来通过元素和属性在XML中进行导航

举个爬虫使用XPath 的例子

#举一个例子——豆瓣肖申克信息抓取

#在运用到python抓取时要先转换为xml
#Import lxml #首先要先导入库
#etree.HTML()#这个就是转换为xml的python的语法,HTML括号内填入目标站点的源码

import requests
from lxml import etree

url = 'https://movie.douban.com/subject/1292052/'
data = requests.get(url).text
s = etree.HTML(data)

# 在电影标题对应的代码上依次点击 右键 > Copy > Copy XPath,获取电影名称的Xpath:

film = s.xpath('//*[@id="content"]/h1/span[1]/text()')  #片名
director=s.xpath('//*[@id="info"]/span[1]/span[2]/a/text()')    #导演
actor1=s.xpath('//*[@id="info"]/span[3]/span[2]/a[1]/text()')  #主演1
actor2=s.xpath('//*[@id="info"]/span[3]/span[2]/a[2]/text()')  #主演2
actor3=s.xpath('//*[@id="info"]/span[3]/span[2]/a[3]/text()')  #主演3
time=s.xpath('//*[@id="info"]/span[13]/text()')   #电影片长
# print(film,director,actor1,actor2,actor3,time)
print('电影名称:',film)
print('导演:',director)
print('主演::',actor1,actor2,actor3)
print('电影片长:',time)
View Code

XSLT总结

1.使用 XSLT 把 XML 文档转换为其他格式,比如 XHTML

2.学会如何向输出文件添加元素和属性,并从输出文件移除元素和属性

3.如何对元素进行重新排列和排序,执行测试以及决定显示或隐藏哪些元素

再次参考:http://www.runoob.com/xsl/xsl-summary.html

 

posted @ 2019-01-07 19:29  脚本小孩  阅读(202)  评论(0)    收藏  举报