OpenXml:SdtBlock 和 SdtCell 有什么区别?

问题描述 投票:0回答:1

SdtCell
SdtBlock
中的
OpenXml.Wordprocessing
都序列化为
<w:sdt>
,那么有什么区别呢?我假设其中一个是表格单元格,这就是 Microsoft 文档似乎暗示的内容。提供的细节充其量是稀疏的,请澄清。

c# openxml openxml-sdk
1个回答
6
投票

来自 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 元素包含单个表格单元格(它是单元格级结构化文档标签)

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 元素包含单个段落(它是块级结构化文档标签)

© www.soinside.com 2019 - 2024. All rights reserved.