Estou procurando uma boa ferramenta para executar operações semelhantes a grep em XML - por exemplo, extrair apenas alguns atributos.
Grep
ela mesma não pode lidar com isso - qualquer ferramenta equivalente ao DFA pode lidar apenas com correspondências não recursivas e a minha pode ser recursiva.
Eu tentei o xgrep , mas é bastante instável e quero uma ferramenta estável e confiável.
Alguma recomendação?
Edição: Eu prefiro ferramentas de código aberto que funcionam bem no Linux.
fonte
A sintaxe XPath em vários idiomas é melhor para encontrar coisas em xml. De fato, uma das ferramentas recomendadas pelos criadores do xgrep é basicamente um analisador XML Perl que aceita entrada XPath.
fonte
Uma ferramenta que funciona no Linux é o xml_grep . Ele entende completamente XML e não é uma ferramenta linha por linha.
O xml_grep está incluído como uma ferramenta independente no pacote XML :: Twig . A funcionalidade grepping é bastante poderosa, pois suporta as especificações XPath .
Linha de comando de amostra (extraindo postagens editadas após meados de fevereiro a partir do triology Data Dump ):
A instalação é fácil. Ou
sudo cpan -i "XML::Twig"
, conforme descrito no livro de receitas xml_grep mencionado abaixo.ou
Faça o download de http://xmltwig.org/xmltwig/XML-Twig-3.34.tar.gz ou http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar .gz . Por exemplo
wget http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz
Extrair:
gunzip XML-Twig-3.34.tar.gz; tar -xvf XML-Twig-3.34.tar
Vá para a pasta:
cd XML-Twig-3.34
Instalar:
perl Makefile.PL -y
. Entãomake
,make test
esudo make install
.Mais Informações:
A melhor introdução que encontrei para o xml_grep é o livro de receitas xml_grep , com cerca de duas páginas. De outros:
fonte
XMLSpy é uma ferramenta incrível, se um pouco dispendiosa.
fonte
Eu recomendaria NÃO usar uma ferramenta semelhante a grep em XML, mas usar uma biblioteca para analisar XML em vez disso.
Para que exatamente você precisa? Alguma linguagem de programação? Acho que o analisador XML interno do .NET se ajustaria facilmente ao trabalho, se você estiver disposto a escrever um programa para ele.
Atualização : para Linux, uma biblioteca de analisador XML bem conhecida é libxml2 .
fonte