
У меня есть программа, которая ожидает входные XML-файлы, имеющие XML-декларацию в форме <?xml version="1.0" encoding="UTF-8"?>
(все наши файлы в кодировке UTF-8, на самом деле это должна быть именно эта строка).
В некоторых моих входных файлах отсутствует декларация XML.
Каков наилучший способ проверить файл, чтобы увидеть, начинается ли он с этого объявления XML, и добавить его, если оно отсутствует? Есть ли для этого команда?
решение1
xmllint сделал свою работу!
$ cat foo.xml
<A>B</A>
$ xmllint foo.xml --encode UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<A>B</A>
$