Python lxml 和标准输入

5 投票
1 回答
3520 浏览
提问于 2025-04-16 04:16

我有一个xml文件,叫做book.xml(http://msdn.microsoft.com/en-us/library/ms762271(VS.85).aspx

我想要查看books.xml文件,获取所有书籍的ID和对应的类型。

类似于

cat books.xml | python reader.py

任何建议或帮助都非常感谢。谢谢。

1 个回答

12

要从标准输入读取一个XML文件,只需要使用 etree.parse 这个函数。这个函数可以接受一个文件对象,而这个文件对象可以是 sys.stdin

import sys
from lxml import etree

tree = etree.parse(sys.stdin)

print ( [(b.get('id'), b.findtext('genre')) for b in tree.iterfind('book')] )

撰写回答