Como analisar XML na linha de comando Linux

Como analisar XML na linha de comando Linux
Ao contrário de outros tipos de arquivos, o XML é estruturado e, quando você imprime seu conteúdo na linha de comando, você pode pensar que é ilegível. No entanto, é assim que o XML está estruturado, e a melhor opção é analisá -lo usando as ferramentas de linha de comando disponíveis. Enquanto a maioria acredita que a análise do XML é desafiadora, este guia quebrará a complexidade, introduzindo duas ferramentas fáceis para facilitar sua análise XML na linha de comando Linux. Vamos dar uma olhada.

Duas maneiras de analisar XML na linha de comando Linux

Xml significa uma linguagem de marcação extensível. Funciona como um formato de arquivo e uma linguagem de marcação, tornando -o útil para transmissão, armazenamento e outras funcionalidades. A principal desvantagem do XML é sua dificuldade de ler devido à sua estrutura e, a menos que você tenha uma maneira limpa de analisá -la, uma única linha XML pode ser facilmente confusa.

Dê uma olhada na seguinte imagem. Compreender o que isso significa pode ser difícil, mas veremos como consertar isso e analisá -lo usando duas ferramentas.

Método 1. Usando o comando xmllint

O Xmllint é um formador XML confiável e uma ferramenta de validação. Para usar a ferramenta, você deve instalar o libxml2-utils pacote.

Com o XMLLINT instalado, vamos prosseguir e analisar nosso arquivo XML. Aqui está a seguinte sintaxe para usar o XMLLINT:

$ xmllint [Opções] XML-File

A primeira coisa ao analisar seu arquivo XML é validar seu XML está bem escrito. Para isso, use o seguinte comando e, opcionalmente, adicione o -Noout Para evitar imprimir o conteúdo do XML, mas apenas validá -lo:

$ xmllint -NOUT FileName

Se você tiver um erro no seu arquivo XML, obterá uma saída de erro no seu terminal, como mostrado no exemplo a seguir:

Lembre -se da saída difícil de ler antes? Você pode analisá -lo usando XMLLINT e obter uma boa saída em sua linha de comando. Para isso, use o -formatar argumento e observe o quão bem formatado seu arquivo xml será impresso.

Com o Xmllint, você também pode alterar o recuo do seu arquivo e escolher quantos espaços você deseja para o recuo. No entanto, você deve criar uma variável de ambiente, Xmllint_indent, e defina o número de espaços que você deseja usar.

Por exemplo, se precisássemos de cinco espaços, o comando para exportar a variável ambiental seria:

$ export xmllint_indent = ""

Agora, seu XML será formatado com os espaços de indentação especificados.

Se você perceber que seu arquivo XML possui espaços desnecessários, poderá removê -los usando o -noblancks argumento, que elimina até as novas linhas.

$ xmllint -Nome do arquivo

Você notará que a remoção dos espaços desorientará o formato do seu XML, mas você pode usar essa opção quando precisar reduzir o tamanho do seu documento XML.

Método 2. Usando o comando xmlstarlet

O XMLStarlet é outra ferramenta confiável para analisar XML através da linha de comando. Ele tem muitas opções que você pode usar para transformar, analisar, consultar ou validar seu arquivo xml. Você deve instalar a ferramenta de linha de comando para usá -la e no Ubuntu, use o comando fornecido abaixo:

$ sudo apt install xmlstarlet

Com o XMLStarlet, você pode extrair facilmente dados do seu XML e executar outras atividades simples

Tudo o que você pode fazer com a ferramenta de linha de comando está disponível em sua página de ajuda. Vamos ver vários exemplos de uso comuns.

Para visualizar Um arquivo XML, use o seguinte comando:

$ xmlstarlet Format FileName

Se você precisava validar O XML, o comando é fornecido abaixo:

$ xmlstarlet Val FileName

Para selecione dados com xmlstarlet, use o Selecione opção e especifique o caminho para o nó. Em nosso arquivo XML, use o seguinte comando para selecionar o endereço:

$ xmlstarlet Selecione--Template --Value-of/clientes/cliente/endereço-NL Test3.xml

No comando anterior, o -nl Especifica para adicionar uma nova linha após a saída. Você pode modificar o caminho para obter dados específicos no XML

Existem várias maneiras de especificar as opções XMLStarlet para trabalhar com seu arquivo XML, e as opções abrangentes estão na página Man para a linha de comando.

Conclusão

Analisar os arquivos XML não deve ser desafiador ao usar o Linux. Você vai gostar de trabalhar com arquivos XML se tiver as ferramentas corretas da linha de comando para fazer o trabalho. Este guia focou em duas opções de linha de comando para analisar arquivos XML. Experimente -os e veja o que você acha mais fácil de usar.