Supondo que o XML esteja bem formado, como
<?xml version="1.0" encoding="windows-1252"?>
<dataTemplate name="XXPFARCUDO_DATA" description="Ctrole de cohnce des clits doeux et conteeux" Version="1.0">
<parameters>
<parameter name="P_SOCIETE" dataType="character"/>
</parameters>
</dataTemplate>
Você obteria o valor do atributo name
no nó dataTemplate
por meio de XMLStarlet assim:
LOBCODE=$( xml sel -t -v '/dataTemplate/@name' "$filename" )
Às vezes, o XMLStarlet é instalado como xmlstarlet
em vez de xml
.
Usando xmllint
:
LOBCODE=$( xmllint --xpath 'string(/dataTemplate/@name)' "$filename" )
Por favor, não tente analisar XML usando sed
. É propenso a erros e frágil.