Auf XML-Deklaration prüfen und bei Bedarf ergänzen

Auf XML-Deklaration prüfen und bei Bedarf ergänzen

Ich habe ein Programm, das XML-Eingabedateien mit einer XML-Deklaration der Form erwartet <?xml version="1.0" encoding="UTF-8"?>(alle unsere Dateien sind UTF-8, es muss wirklich diese Zeichenfolge sein).

In einigen meiner Eingabedateien fehlt die XML-Deklaration.

Wie kann ich am besten testen, ob eine Datei mit dieser XML-Deklaration beginnt und sie voranstellen, wenn sie fehlt? Gibt es dafür einen Befehl?

Antwort1

xmllint hat die Arbeit erledigt!

$ cat foo.xml
<A>B</A>
$ xmllint foo.xml --encode UTF-8
<?xml version="1.0" encoding="UTF-8"?>
<A>B</A>
$

verwandte Informationen