Проверка на наличие XML-декларации и добавление ее, если она отсутствует

Проверка на наличие XML-декларации и добавление ее, если она отсутствует

У меня есть программа, которая ожидает входные 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>
$

Связанный контент