(ヽ´ω`) < 1. XML(HTML)文章からDOMを作成
(ヽ´ω`) < DOMを作成
DOMを作成するにはNokogiri::XML
かNokogiri::HTML
を使う。
引数としては読みだし可能なIOストリームならなんでもOK。
(ヽ´ω`) < 入力ソースの文字コードを指定する
Nokogiriではオブジェクトが内部で保持するデータは常にUTF-8であり、メソッドが返す値も常にUTF-8となる。
入力ソースの文字コードは、Nokogiri内部で使われているlibxml2によって自動判別されるが、常に正確とは限らない。
明示的に入力ソースの文字コードを指定したい場合は、以下の方法で指定する。
1つ目の引数に入力ソースを、3つ目の引数に文字コードを文字列で渡してやる。
2つ目の引数は、libxml2的には入力ソースのURIを渡されることを期待しているが、nilでもOK。
(ヽ´ω`) < DOM作成時にオプションを渡す
Nokogiri::(XML|HTML)を呼び出す際に、以下の方法でオプションを渡すことができる。
渡すことができるオプションと、その効果はhttp://nokogiri.org/Nokogiri/XML/ParseOptions.htmlで確認できる。 使うことがあると思われるのは、以下の4種類ぐらいか。
- NOBLANKS 空ノードを削除。
- NOENT 実体参照を置き換える。
- NOERROR エラーが発生しても報告しない。
- STRICT 厳密な解析を行い、異常が見つかった場合は例外をraiseする。通常の解析では、XML構造に異常箇所が見つかった場合でもlibxml2がある程度修復してくれる。