?
当前位置:??编程语言>python

python下xml解析库lxml最新版下载安装以及代码示例

?
分享到:
????发布时间:2014-10-10??


????本文导语:? lxml 是一种使用 Python 编写的库,可以迅速、灵活地处理 XML。它支持 XML Path Language (XPath) 和 Extensible Stylesheet Language Transformation (XSLT),并且实现了常见的 ElementTree API。python下xml解析库lxml下载地址: lxml下载&...

?? ?lxml 是一种使用 Python 编写的库,可以迅速、灵活地处理 XML。它支持 XML Path Language (XPath) 和 Extensible Stylesheet Language Transformation (XSLT),并且实现了常见的 ElementTree API


python下xml解析库lxml下载地址: ? ?lxml下载??

python下xml解析库lxml安装详细介绍: ?http://lxml.de/installation.html



python下xml解析库lxml用法举例:

from?lxml?import?etree
doc?=?etree.parse('content-sample.xml')

解析html并建立dom

>>>?import?lxml.etree?as?etree
>>>?html?=?'abc
123
def
456
ghi
' >>>?dom?=?etree.fromstring(html) >>>?etree.tostring(dom) 'abc
123
def
456
ghi
'


如果用beautifulsoup解析器,则

>>>?import?lxml.html.soupparser?as?soupparser
>>>?dom?=?soupparser.fromstring(html)
>>>?etree.tostring(dom)
'abc
123
def
456
ghi
'



但是我强烈建议使用soupparser,因为其处理不规范的html的能力etree强太多。?


?按照Dom访问Element

子元素长度

>>>?len(dom)
1

访问子元素:

>>>?dom[0].tag
'body'

循环访问:

>>>?for?child?in?dom:
...?????print?child.tag
...?
body

查看节点索引

>>>body?=?dom[0]
>>>?dom.index(body)
0

字节点获取父节点

>>>?body.getparent().tag
'html'

?访问所有子节点


>>>?for?ele?in?dom.iter():
...?????print?ele.tag
...?
html
body
div
div

?访问节点属性

>>>?body.get('id')
'1'

也可以这样

>>>?attrs?=?body.attrib
>>>?attrs.get('id')
'1'

访问Element的内容


>>>?body.text
'abc'
>>>?body.tail


text只是从本节点开始到第一个字节点结束;tail是从最后一个字节结束到本节点未知。


访问本节点所有文本信息

>>>?body.xpath('text()')
['abc',?'def',?'ghi']

?

访问本节点和子节点所有文本信息

>>>?body.xpath('//text()')
['abc',?'123',?'def',?'456',?'ghi']

貌似返回本文档中所有文字信息

body.text_content()返回本节点所有文本信息。?


Xpath的支持


所有的div元素

>>>?for?ele?in?dom.xpath('//div'):
...?????print?ele.tag
...?
div
div

id=“1”的元素

>>>?dom.xpath('//*[@id="1"]')[0].tag
'body'


body下的第1个div

>>>?dom.xpath('body/div[1]')[0].tag
'div'


相关文章推荐:
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • python实现dnspod自动更新dns解析的方法
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • python解析xml文件实例分享
  • python对XML的解析方法(SAX,DOM,ElementTree)介绍
  • python解析json实例方法
  • Python中lambda的用法及其与def的区别解析
  • python中enumerate的用法实例解析
  • Python 解析XML文件
  • python使用scrapy解析js示例
  • 静态的Python解析器 StaticPython
  • python生成日历实例解析
  • python解析模块(ConfigParser)使用方法
  • python解析文件示例
  • Python struct模块解析
  • python 中的列表解析和生成表达式
  • python解析中国天气网的天气数据
  • python 解析XML python模块xml.dom解析xml实例代码
  • python抓取某汽车网数据解析html存入excel示例
  • python实现AutoResetEvent类的阻塞模式方法解析
  • python解析发往本机的数据包示例 (解析数据包)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ?2012-2019,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号