学以致用

focus on Python , C++, and some interest in Go and R

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年6月2日

摘要: 采用lxml进行xml的解析操作,在使用find()和findall()方式进行操作的时候,如果match按照XPath标准写的复杂点儿,某些情况下会碰到invalid predicate错误。从lxml的官方文档上来看,lxml是支持XPath1.0标准的,可为何还报出invalid predicate错误呢?仔细查阅lxml文档才发现:原来,lxml为了和python标准库中的xml.etree.ElementTree兼容,采用了和xml.etree.ElementTree同样的策略。xml.etree.ElementTree中的find和findall对XPath的支持本身就是有限的,只 阅读全文
posted @ 2012-06-02 15:58 Jerry.Kwan 阅读(2166) 评论(0) 推荐(0) 编辑

摘要: python标准库中的xml.etree.ElementTree使用起来很方便,对于xml的操作封装的也挺好。但有一些细节需要引起各位使用者的注意:其中xml.etree.ElementTree的find 和 findall方法并不是完全支持XPath,不用说XPath2.0,就是连XPath1.0也只是支持了其中的一小部分,可以说只是支持了XPath1.0的一个子集吧。从以下例子能很好的说明这个问题:etree.find("AUTO/PROCESS_THREAD_OPERATE/TIME")etree.find("AUTO/PROCESS_THREAD_OPER 阅读全文
posted @ 2012-06-02 15:48 Jerry.Kwan 阅读(3061) 评论(0) 推荐(0) 编辑