タグ

pythonとSAXに関するGlnのブックマーク (2)

  • PythonでXMLを扱う(6) - 二十代は模索のときブログ

    Python MemoSAXにてXMLの階層構造を扱う際、あるタグの内部に入ったことをフラグにて判断する方法があると思う。例えば以下のようにフラグを用いることで、hogeタグの内部に入ったのか入っていないのかを判断できる。 class SimpleHandler(ContentHandler): def __init__(self): self.inHoge = False def startElement(self, name, attrs): if.name == "hoge": self.inHoge = True def endElement(self, name): if.name == "hoge": self.inHoge = False ただこれ、もうちょっとスマートに出来ないものかと、ContentHandlerを動的に変更することができないかどうか試してみた。それが出来

  • PythonでXMLを扱う(5) - 二十代は模索のときブログ

    Python Memo前回まではDOMを使っていたが、今回からはSAX(Simple API for XML)を使ってXMLを扱ってみる。DOMと違ってメモリ上にXMLファイルの情報を全て読み込むようなことはなく、順次読み込みを行い、読み込んだ内容に対して逐次イベントを発生させる仕組みのAPIである。Wikipedia : Simple API for XMLXML文書をツリー構造として扱うDOMと異なり、一連のイベントとして表現するイベント駆動型のAPIである。したがって、アプリケーションが積極的にAPIにアクセスするDOMに対し、SAXではアプリケーションがイベントが来るのを待ち受ける受動的な動作が大部分を占める。あるXMLを扱うアプリケーションを作成する際、DOMを使うかSAXを使うかは、両者のメリットデメリットをしっかり認識した上で扱うべきであるが、一般的に大きなサイズのXMLファ

  • 1