Python lxml 和标准输入
我有一个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')] )