Ответ 1
xmllint --noout your_test_file.xml
Проверьте код возврата этой команды. См. документация. Значение 1
возвращается при выполнении основных ошибок синтаксического анализа. Например:.
echo $?
У меня возникла проблема с некоторыми файлами печати XML, в которых исходная система не позволяет преобразовать некоторые символы в их синтаксический эквивалент XML (например, и не преобразуется в &
).
Есть ли способ поймать это с помощью xmllint? (Мне не нужно проверять общую древовидную структуру с помощью XSD).
xmllint --noout your_test_file.xml
Проверьте код возврата этой команды. См. документация. Значение 1
возвращается при выполнении основных ошибок синтаксического анализа. Например:.
echo $?
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>
Если вам просто нужно проверить правильность (правильность) любого XML-документа с помощью xmllint, вот еще один способ.
if xmllint --noout /tmp/test.xml > /dev/null 2>&1;
then
echo "correct"
else
echo "incorrect"
fi