2010-09-17 84 views
5

我有一個XML文件,是book.xml(http://msdn.microsoft.com/en-us/library/ms762271(VS.85).aspxPython的LXML和標準輸入

我想貓的books.xml,並得到所有書籍ID和類型的書ID。

類似

cat books.xml | python reader.py 

任何提示或幫助將不勝感激。謝謝。

+0

Upvote因爲lxml文檔亂七八糟。 – 2010-09-17 12:44:03

+0

python reader.py books.xml - 減少打字和提高效率。使用sys.argv。 – 2010-09-18 09:45:05

+0

這很好,直到你想將它連接到一個輸出一個xml文件到stdout的程序。 – 2016-08-11 14:42:26

回答

11

要從標準輸入讀取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')]) 
+0

+1。小巧易讀。 – 2010-09-17 13:00:53

相關問題