Obtenir la valeur du Nœud à partir d'un XML à l'aide de xmllint

J'ai un xml appelé Det.xml comme ceci :

<?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
        <S:Body>
            <ns4:grtHgetRed xmlns:ns2="http://object" xmlns:ns3="http://object" xmlns:ns4="http://object">
                <RequestId>lol</RequestId>
                <MessageDateTime>54.009</MessageDateTime>
                <SenderId>UH</SenderId>
                <ReceiverId>GER</ReceiverId>
                <TrackingNumber>45</TrackingNumber>
                <ServerName>trewds</ServerName>
                <ResponseType>success</ResponseType>
                <StatusInfo>
                <Status>success</Status>
                <SystemMessage>Hagert</SystemMessage>
                <UserMessage>Hgert</UserMessage>
                <Origination>htref</Origination>
                </StatusInfo>
            </ns4:grtHgetRed>
        </S:Body>
    </S:Envelope>

Je suis en train d'essayer d'obtenir le ResponseType la valeur du nœud success de l'aide xmllint en shell script Unix et j'ai donc essayé le suivant :

echo "cat //*[local-name()='S:Envelope'/*[local-name()='S:Body']/*[local-name()='ns4:grtHgetRed']/*[local-name()='ResponseType']" | xmllint --shell Det
.xml | sed '/^\/>/d' | sed 's/<[^>]*.//g'

Mais cela ne fonctionne pas . Aussi je n'ai pas xpath dans mon environnement unix . Quelqu'un peut-il me dire ce que je fais mal ?

OriginalL'auteur The Dark Knight | 2013-09-24