2011-01-07 35 views
0

我正在构建一个解决方案,允许用户从Word模板中选取部分,用数据库中的内容填充这些部分,然后将新数据组装成一个新数据。 docx文档 到目前为止,我已经有成功的方法来定位内容并将该内容移植到新文档中。我正在使用OpenXML SDK 2.0通过样式和内容控件来定位内容。我可以创建包含元素,如段落,SdtBlocks,运行等IEnumerable的对象序列化OpenXML零件元素存储在VARBINARY SQL 2005中

我需要找到一种优雅的方式来序列化这些元素块,所以我可以将它们存储在一个SQL 2005类型VARBINARY的整块数据库。有人可以请我指出一个序列化这些OpenXML零件/元素的可行示例吗?

+0

为什么VARBINARY ??为什么不将这些块的XML存储在XML类型的列中? – 2011-01-07 18:19:12

回答

0

我现在正在使用Excel,但我认为你的问题在本质上是相似的。

从下面的代码我可以提取行的XML代码,然后将其存储。

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

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

请注意SheetData对象被提取为

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

我希望这有助于。