跳转到主要内容

一个小型的Python库,用于快速遍历XML数据。

项目描述

## 基本用法

import drill
doc = drill.parse(path_or_url_or_string)

# 钻取到特定元素。
print unicode(doc.book.title)

# 迭代文档中所有的"title"标签。
for t in doc.iter('title')
print t.attrs, t.data

# 找到所有具有"baz"子节点和"foo"父节点的"bar"节点。
q = doc.find('//foo/bar[baz]')
# 轻松访问匹配结果的第一和最后一个元素。
print q.first(), q.last()
# 迭代结果。
for e in q
do_something(e)

# 仅解析匹配某些路径的元素
for e in drill.iterparse(filelike, xpath='root/*/something')
print e.tagname, e.data

## 特性

* 可运行测试套件
* 支持 Python 3

## 优点

* 纯Python
* 比ElementTree解析更快、更高效
* 使用ElementTree,一个 ~150 MB 的XML文件 (~3,000,000 个元素) 解析大约需要 46 秒,消耗 ~1.3 GB 的RAM
* 使用drill解析同一文件大约需要 24 秒,消耗 ~950 MB 的RAM
* 在Core i5 @ 2.8 GHz,Windows 7上进行的非常不科学的基准测试。YMMV。
* 提供许多方便的方法快速访问元素
* doc.response.resultCode.data
* root[2].child['attr']
* first/last/prev/next 方法用于遍历兄弟元素


项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包的信息

源分布

drill-1.2.0.tar.gz (7.5 kB 查看哈希值)

上传于

构建分布

drill-1.2.0-py2.py3-none-any.whl (8.4 kB 查看哈希值)

上传于 Python 2 Python 3

由以下组织支持