Existe-t-il des utilitaires similaires à xpath pour analyser des fichiers XML qui seraient disponibles de manière native sur un serveur RedHat?
Des questions similaires ont été répondues ailleurs , mais aucun des outils répertoriés n'est sur le serveur.
Mise à jour: xmllint est installé, et man xmllint
indique qu'il peut analyser les fichiers xml, mais il n'est pas clair que cela me donne la possibilité d'extraire une chaîne d'un noeud spécifique.
Xsltproc (interface de ligne de commande vers libxslt) est toujours disponible sur RHEL.
Utilisation: xsltproc xsl_stylesheet xml_file.
Si, compte tenu de ce XML
$ Cat a.xml <a> <B> Bonjour </ b> <B> Monde </ b> </a>
Vous voulez pouvoir faire
$ ./xpath // a / b a.xml Bonjour Monde
Alors vous pourriez simplement couper et coller ceci:
$ Cat xpath #! / Usr / bin / perl Utiliser strictement; Utiliser des avertissements; Utiliser XML :: LibXML; My $ parser = XML :: LibXML-> new (); My $ document = $ parser-> parse_file ($ ARGV [1]); My @nodes = $ document-> findnodes ($ ARGV [0]); Pour mon $ node (@nodes) { Imprimer $ node-> textContent, "\ n"; }
Vous devriez pouvoir installer le module XML :: LibXML en utilisant perl -MCPAN -e 'install XML::LibXML'
XMLStarlet est dans EPEL .
Essayez xmllint
et l'option --xpath
:
<xml> <hello>world!</hello> </xml> $ xmllint --xpath '//hello/text()' world!