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