Estoy buscando una buena herramienta para realizar operaciones grep-like en XML, por ejemplo, extraer solo ciertos atributos.
Grep
en sí mismo no puede manejarlo: cualquier herramienta equivalente a DFA solo puede manejar coincidencias no recursivas, y la mía puede ser recursiva.
He intentado xgrep , pero es bastante inestable y quiero una herramienta estable y confiable.
¿Alguna recomendación?
EDITAR: Prefiero herramientas de código abierto que funcionan bien en Linux.
fuente
La sintaxis XPath en varios idiomas es la mejor para encontrar cosas en xml. De hecho, una de las herramientas recomendadas por los creadores de xgrep es básicamente un analizador XML Perl que acepta la entrada XPath.
fuente
Una herramienta que funciona en Linux es xml_grep . Entiende completamente XML y no es una herramienta línea por línea.
xml_grep se incluye como una herramienta independiente en el paquete XML :: Twig . La funcionalidad grepping es bastante poderosa ya que admite las especificaciones XPath .
Ejemplo de línea de comandos (extracción de publicaciones editadas después de mediados de febrero desde el volcado de datos de la triología ):
La instalación es fácil. Ya sea
sudo cpan -i "XML::Twig"
, como se describe en el libro de cocina xml_grep al que se hace referencia a continuación.o
Descargue http://xmltwig.org/xmltwig/XML-Twig-3.34.tar.gz o http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar .gz . P.ej
wget http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz
Extraer:
gunzip XML-Twig-3.34.tar.gz; tar -xvf XML-Twig-3.34.tar
Ir a la carpeta:
cd XML-Twig-3.34
Instalar:
perl Makefile.PL -y
. Entoncesmake
,make test
ysudo make install
.Más información:
La mejor introducción que he encontrado para xml_grep es xml_grep cookbook , de aproximadamente dos páginas. Otro:
fuente
XMLSpy es una herramienta increíble, aunque un poco costosa.
fuente
Aconsejaría NO usar una herramienta grep-like en XML, sino usar una biblioteca para analizar XML en su lugar.
¿Para qué lo necesitas exactamente? Cualquier lenguaje de programación? Sin embargo, creo que el analizador XML incorporado .NET encajaría fácilmente si está dispuesto a escribir un programa para él.
Actualización : para Linux, una biblioteca de analizador XML bien conocida es libxml2 .
fuente