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

最佳答案

在MSDN页面上的sdtcellsdtblock,下面是我的重点

主要区别在于<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元素包含一个段落(它是块级结构化文档标签)

09-28 03:45