Fehler in der XML-Dateistruktur beim Öffnen beheben |
|
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. Wenn nun diese Tags nicht mehr von der Struktur zusammen passen, kann es zu dieser Problemmeldung kommen; häufig im Zusammenhang mit Formeln. 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. 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). 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. 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. Nachdem das fehlende Endtag eingefügt wurde, verschwindet auch die entsprechende 1. Fehlermeldung. 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. Somit kann diese Zeile bzg. dieses Tag gelöscht werden. Nach dem Löschen dieses Tags verschwindet auch die Fehlermeldung aus der Fehlerlist und die Datei kann wieder gespeichert werden. 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. 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. 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. 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! 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: 0 online | 0 heute | 0 diesen Monat | 2237596 insgesamt | Seitenaufrufe: 211 | Letzte Änderung: 04.03.2011 | © 2001-18 Christian Freßdorf | ||||
Die Menschen fürchten die Vergangenheit, die kommen kann. Stanislaw Jerzy Lec |
powered by phpCMS and PAX |