タグ

ブックマーク / vector.hateblo.jp (1)

  • NokogiriでXMLをガチParseするためのメタプログラミング - 方向

    要約 RubyHTMLからTeXへのトランスレータを書いた。 NokogiriのNokogiri::XML::SAX::Documentあたりを使うのが便利そうに感じたが、実際にやるとソースコードが崩壊した。 SAXではなくDOMを用いて階層構造を再帰で辿ったほうがいい。さらにメタプログラミングを用いると割と簡潔な記述にできる。 原因 RubyでのXML操作にはデファクトスタンダードとなりつつあるNokogiri。 HTMLから特定のタグを抽出して……のようなお手軽パースには大変快適なんですが、XMLの全部のタグにアクションを起こすような格的にパースするとき、すごくやりづらい気がする。そもそもググッてもロクなexampleがでてこない しょうがないので試行錯誤して、まずNokogiriのSAXを使った。 SAXはXMLを「要素の始まり」、「要素の終わり」、「テキスト」の3つにわけ、それ

    NokogiriでXMLをガチParseするためのメタプログラミング - 方向
  • 1