Python lxml和stdin

Ana*_*ous 5 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
Run Code Online (Sandbox Code Playgroud)

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

ken*_*ytm 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')] )
Run Code Online (Sandbox Code Playgroud)