StructuredDocumentTag

StructuredDocumentTag class

表示文档中的结构化文档标签(SDT 或内容控制)。

要了解更多信息,请访问结构化文档标签或内容控制文档文章。

public class StructuredDocumentTag : CompositeNode, IStructuredDocumentTag

构造函数

姓名描述
StructuredDocumentTag(DocumentBaseSdtTypeMarkupLevel)初始化结构化文档标签类.

特性

姓名描述
Appearance { get; set; }获取/设置结构化文档标签的外观。
BuildingBlockCategory { get; set; }指定此构建块的类别特殊和差别待遇node. 不能无效的.
BuildingBlockGallery { get; set; }指定此构建块的类型特殊和差别待遇. 不能无效的.
CalendarType { get; set; }指定此日历的类型特殊和差别待遇. 默认为Default
Checked { get; set; }获取/设置复选框的当前状态特殊和差别待遇. 此属性的默认值为错误的.
Color { get; set; }获取或设置结构化文档标签的颜色。
ContentsFont { get; }将应用于输入文本的字体格式特殊和差别待遇.
Count { get; }获取此节点的直属子节点的数量。
CustomNodeId { get; set; }指定自定义节点标识符。
DateDisplayFormat { get; set; }表示日期显示格式的字符串。
DateDisplayLocale { get; set; }允许设置/获取此处显示的日期的语言格式特殊和差别待遇.
DateStorageFormat { get; set; }获取/设置日期 SDT 的日期存储格式特殊和差别待遇绑定到文档数据存储中的 XML 节点。 默认值为DateTime
virtual Document { get; }获取此节点所属的文档。
EndCharacterFont { get; }将应用于输入文本的最后一个字符的字体格式特殊和差别待遇.
FirstChild { get; }获取节点的第一个子节点。
FullDate { get; set; }指定上次输入此的完整日期和时间特殊和差别待遇.
HasChildNodes { get; }返回真的如果此节点有任何子节点。
Id { get; }指定一个唯一的只读持久数字 ID特殊和差别待遇
override IsComposite { get; }返回真的因为这个节点可以有子节点。
IsShowingPlaceholderText { get; set; }指定此内容是否特殊和差别待遇应解释为包含占位符文本 (与 SDT 中的常规文本内容相反)。
IsTemporary { get; set; }指定此特殊和差别待遇当其内容被修改时,应从 WordProcessingML 文档中删除。
LastChild { get; }获取节点的最后一个子节点。
Level { get; }获取此特殊和差别待遇出现在文档树中。
ListItems { get; }获取SdtListItemCollection与此相关特殊和差别待遇.
LockContentControl { get; set; }设置为真的 ,此属性将禁止用户删除此特殊和差别待遇.
LockContents { get; set; }设置为真的 ,此属性将禁止用户编辑此特殊和差别待遇.
Multiline { get; set; }指定此特殊和差别待遇允许多行文本。
NextSibling { get; }获取紧随此节点之后的节点。
override NodeType { get; }返回StructuredDocumentTag.
ParentNode { get; }获取此节点的直接父节点。
Placeholder { get; }获取BuildingBlock包含当此 SDT 运行内容为空时应显示的占位符文本, 关联的映射 XML 元素为空,如通过XmlMappingelement 或IsShowingPlaceholderText元素是真的.
PlaceholderName { get; set; }获取或设置BuildingBlock包含占位符文本。
PreviousSibling { get; }获取此节点前一个节点。
Range { get; }返回Range表示此节点中包含的文档部分的对象。
SdtType { get; }获取此类型结构化文档标签.
Style { get; set; }获取或设置结构化文档标签的样式。
StyleName { get; set; }获取或设置应用于结构化文档标签的样式的名称。
Tag { get; set; }指定与当前 SDT 节点关联的标签。 不能无效的.
Title { get; set; }指定与此相关的友好名称特殊和差别待遇. 不能无效的.
WordOpenXML { get; }获取表示节点中包含的 XML 的字符串FlatOpc格式.
WordOpenXMLMinimal { get; }获取表示节点中包含的 XML 的字符串FlatOpc格式. 与WordOpenXML属性,此方法生成一个精简的文档,排除任何与内容无关的部分。
XmlMapping { get; }获取一个对象,该对象表示此结构化文档标签到当前文档的自定义 XML 部分中的 XML 数据的映射。

方法

姓名描述
override Accept(DocumentVisitor)接受访客。
override AcceptEnd(DocumentVisitor)接受访问者访问 StructuredDocumentTag 的末尾。
override AcceptStart(DocumentVisitor)接受访问者访问 StructuredDocumentTag 的开头。
AppendChild<T>(T)将指定节点添加到此节点的子节点列表的末尾。
Clear()清除此结构化文档标签的内容,并显示占位符(如果已定义)。
Clone(bool)创建节点的副本。
CreateNavigator()创建可用于遍历和读取节点的导航器。
GetAncestor(NodeType)获取指定的第一个祖先NodeType.
GetAncestor(Type)获取指定对象类型的第一个祖先。
GetChild(NodeType, int, bool)返回与指定类型匹配的第 N 个子节点。
GetChildNodes(NodeType, bool)返回与指定类型匹配的子节点的实时集合。
GetEnumerator()为该节点的子节点提供对每个样式迭代的支持。
override GetText()获取此节点及其所有子节点的文本。
IndexOf(Node)返回子节点数组中指定子节点的索引。
InsertAfter<T>(T, Node)在指定的参考节点后立即插入指定的节点。
InsertBefore<T>(T, Node)在指定的参考节点之前立即插入指定的节点。
NextPreOrder(Node)根据前序树遍历算法获取下一个节点。
PrependChild<T>(T)将指定节点添加到此节点的子节点列表的开头。
PreviousPreOrder(Node)根据前序树遍历算法获取前一个节点。
Remove()将自身从父级中移除。
RemoveAllChildren()删除当前节点的所有子节点。
RemoveChild<T>(T)删除指定的子节点。
RemoveSelfOnly()仅删除此 SDT 节点本身,但保留其在文档树中的内容。
RemoveSmartTags()删除所有SmartTag当前节点的后代节点。
SelectNodes(string)选择与 XPath 表达式匹配的节点列表。
SelectSingleNode(string)选择第一个Node与 XPath 表达式匹配。
SetCheckedSymbol(int, string)设置用于表示复选框内容控件的选中状态的符号。
SetUncheckedSymbol(int, string)设置用于表示复选框内容控件未选中状态的符号。
ToString(SaveFormat)将节点的内容导出为指定格式的字符串。
ToString(SaveOptions)使用指定的保存选项将节点内容导出为字符串。

评论

结构化文档标签 (SDT) 允许将客户定义的语义及其行为和外观嵌入到文档中。

在此版本中,Aspose.Words 提供了许多公共方法和属性来操纵StructuredDocumentTag. 可以使用 将 SDT 节点映射到文档中的自定义 XML 包XmlMapping财产。

StructuredDocumentTag可以出现在文档中的以下位置:

  • 块级 - 在段落和表格中,作为BodyHeaderFooter, CommentFootnoteShape节点。
  • 行级 - 在表格的行中,作为Table节点。
  • 单元格级别 - 在表格行的单元格中,作为Row节点。
  • 内联级别 - 在内联内容中,作为Paragraph
  • 嵌套在另一个中StructuredDocumentTag

例子

展示如何使用内容控制元素的样式。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 以下是将文档中的样式应用到结构化文档标签的两种方法。
// 1 - 从文档的样式集合中应用样式对象:
Style quoteStyle = doc.Styles[StyleIdentifier.Quote];
StructuredDocumentTag sdtPlainText =
    new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Inline) { Style = quoteStyle };

// 2 - 通过名称引用文档中的样式:
StructuredDocumentTag sdtRichText =
    new StructuredDocumentTag(doc, SdtType.RichText, MarkupLevel.Inline) { StyleName = "Quote" };

builder.InsertNode(sdtPlainText);
builder.InsertNode(sdtRichText);

Assert.AreEqual(NodeType.StructuredDocumentTag, sdtPlainText.NodeType);

NodeCollection tags = doc.GetChildNodes(NodeType.StructuredDocumentTag, true);

foreach (Node node in tags)
{
    StructuredDocumentTag sdt = (StructuredDocumentTag)node;

    Console.WriteLine(sdt.WordOpenXMLMinimal);

    Assert.AreEqual(StyleIdentifier.Quote, sdt.Style.StyleIdentifier);
    Assert.AreEqual("Quote", sdt.StyleName);
}

也可以看看