SdtCell
和SdtBlock
中的OpenXml.Wordprocessing
都序列化为<w:sdt>
,那么有什么区别呢?我假设其中一个是表格单元格,这就是 Microsoft 文档似乎暗示的内容。提供的细节充其量是稀疏的,请澄清。
来自 sdtcell 和 sdtblock 的 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 元素包含单个表格单元格(它是单元格级结构化文档标签)。
SDTB块
此元素指定是否存在围绕一个或多个块级结构(段落、表格等)的结构化文档标记。该元素的两个子元素分别用于通过 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 元素包含设置为地址的友好名称属性,并且 sdtContent 元素包含单个段落(它是块级结构化文档标签)。