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.