Olá,
No curso foi falado do comando awk
que pelo que puder ver é muito útil com tratamento de texto, qual comando poderia utilizar para trabalhar com arquivos do tipo XML?
Att.,
Olá,
No curso foi falado do comando awk
que pelo que puder ver é muito útil com tratamento de texto, qual comando poderia utilizar para trabalhar com arquivos do tipo XML?
Att.,
Olá Mateus,
Além do awk
o sed
também seria usado para manipulação de texto, qual seria exatamente a tarefa que você precisaria realizar no arquivo xml?
Abs
Olá Rafael,
Gostaria de poder analisar algumas tags do XML e recuperar seus valores. A minha ideia é criar um script que irá avaliar o XML de uma NF-e e irá recuperar, por exemplo, o CNPJ de quem emitiu, a Data de Emissão, entre outros. Após conseguir ler essas informações do XML, vou fazer a organização dos arquivos com base nelas.
Observação: praticamente todo o conteúdo do arquivo está em uma única linha.
Att., Mateus
Olá Mateus,
Para arquivos xml existe uma ferramenta chamada xml-grep que acredito que irá ajudar. Estou encaminhando abaixo maiores detalhes sobre essa ferramenta:
http://xml-coreutils.sourceforge.net/xml-grep_man.html
Abs
Bom dia Mateus.
Além das ferramentas citadas, se você usar Java há também o JAX-B, que faz essa extração facilmente de conteúdos de um XML:
http://blog.caelum.com.br/jaxb-xml-e-java-de-maos-dadas/
Pesquisando por JAXB no Google, há diversos outros links.
Para Java, há uma outra biblioteca que faz isso também: XStream.
Além disso, como você disse que o arquivo está sem quebra de linhas, eis um link para te ajudar com a visualização do XML:
https://www.freeformatter.com/xml-formatter.html
Abraço!
Olá,
Rafael Silva, obrigado
Na Empresa que trabalho não consigo instalar novos programas, então tive que procurar algo que já estivesse instalado no Solaris, achei o xmllint
, consegui resolver meu problema usando:
xmllint --xpath "//*[local-name()='dest']/*[local-name()='CNPJ']/text()" $arquivo
Tive que usar local-name()
por causa do namespace. Fonte.
Rafael Franco,
Obrigado pela ajuda, mas eu precisava em shell script.
Olá Mateus,
Que bom que resolveu! Pow, não sabia que tinha que ser só shell!
Interesse o xmllint, não o conhecia. Como uso shell vez ou outra, vou anotar o nome desse para quando precisar.
Também agradeço.
Abraço!