Primeiro vamos criar uma tabela de testes:
CREATE TEMP TABLE fragmentos (
id integer PRIMARY KEY,
html xml
);
Agora inserir alguns dados:
INSERT INTO fragmentos (1, 'Apenas uma parágrafo');
INSERT INTO fragmentos (2, 'Uma XML com links para: <ul>
<li><a href="http://www.google.com/">Google.com</a></li>
<li><a href="http://www.yahoo.com/">Yahoo.com</a></li>
<li><a href="">Link vazio</a></li>
<li><a href="#top">Link archor</a></li>
</ul>
');
Para obter todos atributos HREF de todas as tags A de todos os registros da tabela
SELECT
id,
unnest(array_remove(xpath('//a/@href', xmlelement(name banana, html))::text[],'')) AS href
FROM fragmentos
GROUP BY 1,2
ORDER BY 2
Nenhum comentário:
Postar um comentário