OpenXml:SdtBlock和SdtCell有什么区别?

时间:2011-12-06 17:03:02

标签: c# openxml openxml-sdk

SdtCell中的{p> SdtBlockOpenXml.Wordprocessing都会序列化为<w:sdt>,那有什么区别?我假设一个是表格单元格,这是Microsoft文档似乎暗示的内容。提供的详细信息最多,请澄清。

1 个答案:

答案 0 :(得分:4)

sdtcellsdtblock的MSDN页面中,强调我的

主要区别在于<w:sdtContent>

中您将拥有的内容类型<w:sdt>

<强> SDTCELL

此元素指定在单个表格单元格周围存在结构化文档标记。此元素的两个子元素应分别用于通过sdtPr和sdtContent元素指定当前结构化文档标记的属性和内容。

[示例:考虑具有友好名称公司的结构化文档标记,该公司必须位于WordprocessingML文档中的单个表格单元格周围。此要求将在WordprocessingML中指定如下:

<w:tr>
<w:sdt>
<w:sdtPr>
<w:alias w:val="company"/>
</w:sdtPr>
<w:sdtContent>
<w:tc>
…
</w:tc>
</w:sdtContent>
</w:sdt>
…
</w:tr>

sdt元素指定结构化文档标记,子sdtPr元素包含设置为company的友好名称属性,sdtContent元素包含单个表格单元格(它是单元格级结构化文档标记)

<强> SDTBLOCK

此元素指定在一个或多个块级结构(段落,表格等)周围存在结构化文档标记。此元素的两个子元素应分别用于通过sdtPr和sdtContent元素指定当前结构化文档标记的属性和内容。

[示例:考虑具有友好名称地址的结构化文档标记,该地址必须位于WordprocessingML文档中的单个段落周围。此要求将在WordprocessingML中指定如下:

<w:body>
<w:sdt>
<w:sdtPr>
<w:alias w:val="address"/>
</w:sdtPr>
<w:sdtContent>
<w:p>
…
</w:p>
</w:sdtContent>
</w:sdt>
…
</w:body>

sdt元素指定结构化文档标记,子sdtPr元素包含设置为address的友好名称属性,并且sdtContent元素包含单个段落(它是块级结构化文档标记)