Wie konvertiere ich einen offenen XML-String in ein Word-Dokument c #

9

Ich lese ein Element aus dem Code und erhalte dadurch eine Open XML-Zeichenfolge.

%Vor%

Nun möchte ich diese Zeichenfolge in memorystream so konvertieren, dass sie von WordProcessingDocument wie folgt gelesen werden kann.

%Vor%

Wenn ich oben Code versuche, konnte es Strom nicht öffnen und Fehler der verdorbenen Daten auslösen.

XML-Zeichenfolge sieht folgendermaßen aus:

%Vor%

Irgendeine Idee dazu?

Bearbeitungen: Wie Per Gisha's Vorschlag, habe ich unten Code-Snippet versucht und meine XML-Zeichenfolge an Inhalt übergeben. Trotzdem erzeugt es eine beschädigte Datei.

%Vor%     
Mittal Patel 01.07.2015, 04:38
quelle

1 Antwort

2

Ich habe versucht, den Code zu verwenden, den Sie im Abschnitt Bearbeitungen Ihrer Frage angegeben haben, und er erzeugt tatsächlich eine beschädigte Datei. Das Problem scheint mit einem ungültigen Namespace verknüpft zu sein, den Sie in der Zeichenfolge docXml angegeben haben:

%Vor%

sollte geändert werden zu:

%Vor%

(ohne Leerzeichen in der Mitte). Dies sollte eine Datei erzeugen, die ohne Fehlermeldungen geöffnet werden kann.

Das erste XML, das Sie gepostet haben, hat jedoch eine andere Struktur und erfordert eine andere Lösung. Ich werde versuchen, eine Lösung zu finden und diese Antwort mit einigen Informationen darüber zu aktualisieren.

AKTUALISIEREN

Der erste von Ihnen gepostete XML-Code (mit w:wordDocument als Hauptknoten) ähnelt dem in diesem Artikel beschriebenen XML-Code und scheint ein Word 2003-XML-Format anstelle von Open XML zu sein: Ссылка .

Damit es funktioniert, können Sie die Zeichenfolge in einer xml -Datei speichern:

%Vor%

Dann können Sie die Datei mit Word öffnen und es sollte in der Lage sein, es ohne Probleme zu lesen. In diesem Fall müssen Sie wahrscheinlich die Option Öffnen mit ... auswählen und Word manuell auswählen, um die Datei zu öffnen, was ziemlich unpraktisch ist.

Nach diesem Artikel ( Ссылка ) Sie sollten jedoch die XML-Datei auch als doc -Datei speichern können. Sie können die XML-Zeichenfolge wie folgt speichern:

%Vor%

Für das von Ihnen gepostete XML sollte eine doc -Datei erstellt werden, die ohne Probleme von Word geöffnet werden kann.

    
Lukasz M 03.09.2015 21:07
quelle

Tags und Links