extrair múltiplas tabelas html com hxt
Meu problema é que eu tenho que extrai todas as tabelas de um documento html e colocá-los em uma lista de tabelas.
Por isso, entendo que o tipo de função final deve ser
getTable :: a [XmlTree] [[String]]
por exemplo, com o seguinte xml:
<table class="t1">
<tr>
<td>x</td>
<td>y</td>
</tr>
<tr>
<td>a</td>
<td>b</td>
</tr>
</table>
<table class="t2">
<tr>
<td>3</td>
<td>5</td>
</tr>
<tr>
<td>toto</td>
<td>titi</td>
</tr>
</table>
Eu sei como recuperar todas as linhas de um xmlTree (example1) ou todas as tags "tabelas", que me fornece o tipo [XmlTree], mas eu não sei como mapear a seta example1 dentro do resultado de test2.
Tenho certeza que é óbvio, mas não consigo encontrá-lo.
test2 :: IO [[XmlTree]]
test2 = runX $ parseXML "table.xml" >>> is "table">>> listA getChildren
example1 :: ArrowXml a => a XmlTree [String]
example1 = is "table" /> listA (getChildren >>> is "td" /> getText)