鋸山は、HTMLフラグメントを解析するSAXパーサーを使用することはできますか?
質問
私はこのコードを持っています。
class MyParser < Nokogiri::XML::SAX::Document
def characters(string)
LOG.debug("characters #{string}")
end
def start_element(name, attrs = [])
LOG.debug("start_element #{name}")
end
def end_element(name)
LOG.debug("end_element #{name}")
end
end
parser = Nokogiri::HTML::SAX::Parser.new(MyParser.new)
parser.parse(File.new($*[0], 'rb'))
このようなHTMLフラグメントに実行し、
<h1>Hello</h1>
<p>Hi.</p>
出力は、最初の要素だけが処理されることを示しています。
start_element h1
characters Hello
end_element h1
私はhtml
とbody
タグでフラグメントをラップした場合は、、入力全体が解析されます。
HTMLフラグメントにSAXスタイルのパーサを使用する方法はありますか?
解決
あなたはルート要素であなたのフラグメントをラップする必要があります:
<div>
<h1>Hello</h1>
<p>Hi.</p>
</div>
あなたの問題を解決する必要があります。
所属していません StackOverflow