Подтвердить что ты не робот

Проверить синтаксис XML с помощью xmllint

У меня возникла проблема с некоторыми файлами печати XML, в которых исходная система не позволяет преобразовать некоторые символы в их синтаксический эквивалент XML (например, и не преобразуется в &).

Есть ли способ поймать это с помощью xmllint? (Мне не нужно проверять общую древовидную структуру с помощью XSD).

4b9b3361

Ответ 1

xmllint --noout your_test_file.xml

Проверьте код возврата этой команды. См. документация. Значение 1 возвращается при выполнении основных ошибок синтаксического анализа. Например:.

echo $?

Ответ 2

xmllint --valid --encode utf-8 TEST.xml

будет проверять и выводить TEST.xml в utf-8

cat TEST.xml

< xml version = "1.0" encoding = "utf-8"? >

<! DOCTYPE JM SYSTEM "mydtd" >

<JM> , , , </JM>

Ответ 3

Если вам просто нужно проверить правильность (правильность) любого XML-документа с помощью xmllint, вот еще один способ.

if xmllint --noout /tmp/test.xml > /dev/null 2>&1;
then
    echo "correct"
else
    echo "incorrect"
fi