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>
$

関連情報