En ce moment, je vais partager le document HTML en petits morceaux comme celui-ci: (expression régulière simplifiée - sauter le contenu des balises d'en-tête et balise de fermeture)Comment diviser un document HTML en utilisant Nokogiri?
document.at('body').inner_html.split(/<\s*h[2-6][^>]*>/i).collect do |fragment|
Nokogiri::HTML(fragment)
end
Est-il un moyen plus facile à réaliser que le partage?
Le document est très simple, il ne contient que des en-têtes, des paragraphes et du texte formaté. Par exemple:
<body>
<h1>Main</h1>
<h2>Sub 1</h2>
<p>Text</p>
-----
<h2>Sub 2</h2>
<p>Text</p>
-----
<h3>Sub 2.1</h3>
<p>Text</p>
-----
<h3>Sub 2.2</h3>
<p>Text</p>
</body>
Pour cet échantillon, je dois obtenir quatre pièces.
Pourquoi utilisez-vous regex quand elle est déjà un analyseur XML? – NullUserException
NullUserException, je ne connais pas de meilleure façon de le faire encore, c'est pourquoi je demande. – taro
Peut-être essayer l'un de ceux-ci: http://zvon.org/comp/r/tut-XPath_1.html#Pages~List_of_XPaths – Erik