Używam polecenia xmllint Linux (opis xmllint) i chcę przechwycić błąd kod, aby użyć go w skrypcie. Jak mogę to zrobić?

Dzięki

1
Luis Andrés García 18 październik 2012, 18:04

2 odpowiedzi

Najlepsza odpowiedź

Możesz to zrobić:

if xmllint --xpath '/my/path' file.xml; then
    echo "success"
else
    echo >&2 "error"
    exit 1
fi

Jeśli nie masz przełącznika --xpath:

file=/path/to/file
xpath='/foo/bar'
result="$(echo "cat $xpath" | xmllint --shell "$file")"

if [ $(echo "$result" | wc -l) -gt 2 ]; then
    echo "success"
else
    echo >&2 "error"
    exit 1
fi
1
Gilles Quenot 19 październik 2012, 15:18

Lub jeśli masz schemat, za pomocą którego chcesz sprawdzić poprawność swojego pliku xml, możesz to zrobić: xmllint --noout --schema twój_plik_xsd twój_plik_xml 2>myxmlval.out

Myxmlval.out będzie plikiem, który przechwytuje błąd, który wychodzi z walidacji schematu xmllint

0
linuxJunky 9 listopad 2015, 12:59