Existe uma ferramenta nativa para analisar arquivos xml disponíveis no RedHat?

6

Existe algum utilitário semelhante ao xpath para analisar arquivos XML que seriam disponibilizados nativamente em um servidor RedHat?

Questões semelhantes foram respondidas em outro lugar , mas nenhuma das ferramentas listadas está no servidor .

atualização: xmllint está instalado, e man xmllint indica que ele pode analisar arquivos xml, mas não está claro que isso me dá a capacidade de extrair uma string de um nó específico.

    
por David LeBauer 05.04.2011 / 02:25

5 respostas

3

xsltproc (interface de linha de comando para libxslt) está sempre disponível no RHEL.
uso: xsltproc xsl_stylesheet xml_file.

    
por 07.04.2011 / 17:58
4

Se, dado este XML

$ cat a.xml
<a>
  <b>Hello</b>
  <b>World</b>
</a>

Você quer ser capaz de fazer

$ ./xpath //a/b a.xml
Hello
World

então você poderia simplesmente cortar & cole isto:

$ cat xpath
#!/usr/bin/perl
use strict;
use warnings;
use XML::LibXML;

my $parser = XML::LibXML->new();
my $document = $parser->parse_file($ARGV[1]);
my @nodes = $document->findnodes($ARGV[0]);
for my $node (@nodes) {
  print $node->textContent, "\n";
}

Você deve conseguir instalar o módulo XML :: LibXML usando perl -MCPAN -e 'install XML::LibXML'

    
por 05.04.2011 / 15:24
3

XMLStarlet está em EPEL .

    
por 05.04.2011 / 15:41
3

Experimente xmllint e a opção --xpath :

<xml>
  <hello>world!</hello>
</xml>

$ xmllint --xpath '//hello/text()'
world!
    
por 17.10.2014 / 02:14
0

No RHEL 7

yum install libxml2

te dá

xmllint

e pode analisar arquivos XML

# xmllint 
Usage : xmllint [options] XMLfiles ...
        Parse the XML files and output the result of the parsing
    
por 05.10.2017 / 10:43