2011-01-07 7 views
0

Ich erstelle eine Lösung, die es Benutzern ermöglicht, Abschnitte aus einer Word-Vorlage auszuwählen, diese Abschnitte mit Inhalt aus einer Datenbank zu füllen und die neuen Daten in einer neuen zu sammeln. docx document Bisher habe ich erfolgreiche Methoden gefunden, um Inhalte zu finden und diese Inhalte in ein neues Dokument zu übertragen. Ich verwende das OpenXML SDK 2.0, um Inhalte nach Stilen und Inhaltskontrollen zu finden. Ich bin in der Lage, IEnumerable Objekte mit Elementen wie Paragraphen, SdtBlocks, Ausführen, etc.Serialisierung von OpenXML-Teileelementen Speichern in VARBINARY SQL 2005

Ich muss eine elegante Möglichkeit finden, diese Elementblöcke zu serialisieren, damit ich sie als ganze Blöcke vom Typ VARBINARY in einem SQL 2005 speichern kann Datenbank. Kann mir bitte jemand ein praktikables Beispiel für das Serialisieren dieser OpenXML-Teile/Elemente geben?

+0

Warum VARBINARY ?? Warum speichern Sie diese Teile von XML nicht in einer Spalte vom Typ XML? –

+0

Sie haben den Datentyp richtig eingestellt. Ich hatte den XML-Typ nicht bemerkt. –

Antwort

0

Ich arbeite gerade an Excel, aber ich denke, dass Ihr Problem in der Natur ähnlich ist.

Aus dem folgenden Code kann ich den XML-Code der Zeile extrahieren und dann speichern.

private string GetContents(uint rowIndex) 
{ 
    return GetExistingRow(rowIndex).OuterXml; 
} 

private Row GetExistingRow(uint rowIndex) 
{ 
    return SheetData. 
      Elements<Row>(). 
      Where(r => r.RowIndex == rowIndex). 
      FirstOrDefault(); 
} 

beachten Sie bitte die SheetData Objekt als

this.SheetData = WorksheetPart.Worksheet.GetFirstChild<SheetData>() 

extrahiert Ich hoffe, das hilft.

Verwandte Themen