Je recherche un bon outil pour effectuer des opérations de type grep sur XML - par exemple, extraire certains attributs uniquement.
Grep
lui-même ne peut pas le gérer - tout outil équivalent à DFA ne peut gérer que les correspondances non récursives, et le mien peut être récursif.
J'ai essayé xgrep , mais il est assez instable et je veux un outil stable et fiable.
Des recommandations?
EDIT: Je préfère les outils open source qui fonctionnent bien sous Linux.
la source
La syntaxe XPath dans différentes langues est la meilleure pour trouver des choses en xml. En fait, l' un des outils recommandés par les fabricants de xgrep est essentiellement un analyseur XML Perl qui accepte les entrées XPath.
la source
Un outil qui fonctionne sous Linux est xml_grep . Il comprend parfaitement XML et n'est pas un outil ligne par ligne.
xml_grep est inclus en tant qu'outil autonome dans le package XML :: Twig . La fonctionnalité de réception est assez puissante car elle prend en charge les spécifications XPath .
Exemple de ligne de commande (extraire les articles modifiés après la mi-février du triology Data Dump ):
L'installation est simple. Non plus
sudo cpan -i "XML::Twig"
, comme décrit dans le livre de recettes xml_grep référencé ci-dessous.ou
Téléchargez 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 . Par exemple
wget http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.34.tar.gz
Extrait:
gunzip XML-Twig-3.34.tar.gz; tar -xvf XML-Twig-3.34.tar
Allez dans le dossier:
cd XML-Twig-3.34
Installer:
perl Makefile.PL -y
. Ensuitemake
,make test
etsudo make install
.Plus d'information:
La meilleure introduction que j'ai trouvée pour xml_grep est le livre de recettes xml_grep , environ deux pages. Autre:
la source
XMLSpy est un outil incroyable, même s'il est un peu coûteux.
la source
Je conseillerais de NE PAS utiliser un outil de type grep sur XML, mais d'utiliser une bibliothèque pour analyser XML à la place.
Pour quoi en avez-vous besoin exactement? Tout langage de programmation? Je pense que l'analyseur XML intégré .NET conviendrait facilement si vous êtes prêt à écrire un programme pour cela.
Mise à jour : pour Linux, une bibliothèque d'analyseur XML bien connue est libxml2 .
la source