2
www.ChF-Online.de  

Fehler in der XML-Dateistruktur beim Öffnen beheben

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
   Word2007 (RibbonX)
   Word2010 (RibbonX)
aktiv aktiv XML-Fehler beheben
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word2010  
Makro/Datei speichern
Print

Leider ist auch Word nicht vor Fehler sicher und so tritt manchmal beim Öffnen einen Dokumentes der Fehler auf, dass die Datei XYZ.docx nicht geöffnet werden kann, da ihr Inhalt einen Fehler verursacht. Schaut man dann unter 'Details' nach, um welchen Fehler es sich handelt, wird dort die Meldung angezeigt, dass der im Endtag enthaltene Name nicht mit dem Elementtyp im Starttag nicht übereinstimme.Als Position wird eine Spalte in der Komponente /word/document.xml aufgeführt.
Diese Meldung bezieht sich auf die neue Dateistruktur von Word, in der alle Informationen in XML-Tags (Starttag und Enttag) eingebettet werden.

Wenn nun diese Tags nicht mehr von der Struktur zusammen passen, kann es zu dieser Problemmeldung kommen; häufig im Zusammenhang mit Formeln.

XML-Fehlermeldung beim Öffnen einer beschädigten Datei

Für den häufigsten Fehlerfall hilft es, die falschen Tags zu korrigieren und so die Datei wieder lesbar zu machen. Die einzelnen Schritte werden im Folgenden aufgezeigt:

Wie geschrieben handelt es sich bei dem Wordformat um eine XML-Struktur. Diese liegt gepackt in der DOCX-Datei vor und stellt im Prinzip eine umbenannte ZIP-Archivdatei dar. Aus dem Grund kann diese Datei durch Umbenennen in die Endung ZIP unter Windows (ab XP) wie ein Archiv behandelt und im Explorer geöffnet werden.

Umbenennen in .docx.zip

Anschließend kann das Archiv als Ordner oder im installierten Entpacker geöffnet werden (das jeweilige Verhalten hängt von der verwendeten Windows-Version ab; zumindest unter Windows 7 werden ZIP-Archive als Ordner behandelt).
Anschließend muss die Datei /word/document.xml aus dem Archiv in einen Ordner kopiert werden, damit sie bearbeitet werden kann.

Kopieren der document.xml aus dem Archiv-Ordner .docx.zip

Um die XML-Datei zu bearbeiten, empfielt sich ein XML-Editor, der die XML-Syntax prüfen und strukturiert darstellen kann. Ich verwende dazu entweder Visual Studio 2010 oder die Visual Studio 2005 Tools for Application;

Nach dem Öffnen der fehlerhaften Datei in Visual Studio werden in der Fehlerliste idR. drei Fehler aufgeführt, die auf das fehlerhafte Einfügen des </m:oMath>-Endtags zurückzuführen sind.
Mit einem (Doppel-)Klick auf den ersten Fehler wird in der XML-Struktur die Stelle angezeigt, an der der </m:oMath>-Endtag erwartet wird.

Zum ersten Fehler 'Endtag <m:oMath> wurde erwartet' springen

Um den Fehler zu beheben, reicht es, in der Zeile vor dem markierten Endtag </mc:Choicegt; das </m:oMath>-Endtag einzufügen. Dies kann in Visual Studio auch über das Intellisense-Kontextmenü erfolgen.

Kopieren der document.xml aus dem Archiv-Ordner .docx.zip

Nachdem das fehlende Endtag eingefügt wurde, verschwindet auch die entsprechende 1. Fehlermeldung.

Zum ersten Fehler 'Endtag <m:oMath> wurde erwartet' springen

Für den 2. Fehler bzgl. erwartetem Endtag </w:p> gelangt man mit einem (Doppel-)Klick auf den Eintrag zur Fehlerzeile.

An dieser Stelle wird nun das </m:oMath>-Endtag markiert, was ja bereits an der 1. Fehlerstelle eingefügt wurde.

Zum ersten Fehler 'Endtag <m:oMath> wurde erwartet' springen

Somit kann diese Zeile bzg. dieses Tag gelöscht werden.

Kopieren der document.xml aus dem Archiv-Ordner .docx.zip

Nach dem Löschen dieses Tags verschwindet auch die Fehlermeldung aus der Fehlerlist und die Datei kann wieder gespeichert werden.

Zum zweiten Fehler 'Endtag <w:p> wurde erwartet' springen

Anschließend muss die nun korrigierte XML-Datei wieder in das Datei-Archiv kopiert und das Archiv zurück in das DOCX-Dateiformat umbenannt werden.

Kopieren der document.xml aus dem Archiv-Ordner .docx.zip

Wichtig beim Kopieren der Datei ins Archiv ist neben dem richtigen Ordner auch, dass keinerlei Kompressionsverfahren o.ä. verwendet werden, damit das Datei-Archiv nicht beschädigt wird.

Umbenennen in .docx.zip

Die nun wieder vorliegende DOCX-Datei kann per Doppelklick gestartet werden und sollte normalerweise wieder korrekt von Word angezeigt werden.

Sollte allerdings weiterhin ein Fehler in der document.xml angezeigt werden, oder die Meldung erscheinen, dass die Datei beschädigt sei und nicht geöffnet werden kann, muss die document.xml genauer untersucht werden. In dem Fall ist meistens eine Grafik, Formel oder Tabelle fehlerhaft.
Für den Fall gibt es dann leider keine allgemeine Lösung, sondern muss durch Analyse der Fehlermeldungen ermittelt werden.

Ich habe mit dieser Methode bereits mehrere Dateien wieder lesbar machen können - nur bei einer Datei musste ich mich durch den Code hangeln, um eine fehlerhafte Grafik zu finden und den ganzen XML-Bereich zu löschen.

Wichtig: immer mit der Option Sicherheitskopie immer erstellen arbeiten und die Option Speichern im Hintergrund deaktivieren!
Regelmäßig Sicherungen anlegen.

Viel Erfolgt!

Diese Anleitung erfolgt nach bestem Wissen und Erfahrung. Ich kann aber keinerlei Garantie übernehmen und daher gilt: Anwendung auf eigene Gefahr und Risiko. Legt vorher eine Kopie der fehlerhaften Datei an!


 Besucher: 4 online  |  26 heute  |  2387 diesen Monat  |  2149350 insgesamt | Seitenaufrufe: 203   Letzte Änderung: 04.03.2011 © 2001-18 Christian Freßdorf
  Wer sich auf seinen Lorbeeren ausruht, trägt sie an der falschen Körperstelle. H. Geißler  powered by phpCMS and PAX