RSS

PythonでDOM

RDBMSの中身をXMLで出力したのでPythonでDOMで処理しようとしてみた。

結論。RDBMSはよくできている。DOMでやろうとしたらめんどくさくて仕方がない。
#!/usr/bin/python
from xml.dom.minidom import parse
import sys

dom1 = parse(file('/home/takaki/sample.xml'))
table = dom1.childNodes[1]
rows = dom1.getElementsByTagName("row")
for r in rows:
u = r.getElementsByTagName("user_id")[0]
if u.firstChild.nodeValue <> u'5':
 table.removeChild(r)

dom1.writexml(sys.stdout)
という具合でフィルターをかける処理をしてみたが。SQLなら 'select * from sample where user_id = 5' で済むんだけど。やり方が間違っているわけじゃないよね?

久しぶりにXSLTもやってみるか…。