Python lxml和stdin

时间:2010-09-17 12:40:54

标签: python xml lxml

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

我想cat books.xml并获取书籍id的所有图书ID和流派。

相似
cat books.xml | python reader.py

任何提示或帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:11)

要从stdin读取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')] )