StructuredDocumentTag

StructuredDocumentTag class

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

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

public class StructuredDocumentTag : CompositeNode, IStructuredDocumentTag

构造函数

姓名描述
StructuredDocumentTag(DocumentBaseSdtTypeMarkupLevel)初始化一个新实例结构化文档标签类.

特性

姓名描述
Appearance { get; set; }获取/设置结构化文档标签的外观。
BuildingBlockCategory { get; set; }指定此构建块的类别特殊测试节点. 不能无效的.
BuildingBlockGallery { get; set; }指定构建块的类型特殊测试. 不能无效的.
CalendarType { get; set; }指定此日历的类型特殊测试. 默认为Default
Checked { get; set; }获取/设置复选框的当前状态特殊测试. 此属性的默认值为错误的.
Color { get; set; }获取或设置结构化文档标签的颜色。
ContentsFont { get; }将应用于输入文本的字体格式特殊测试.
Count { get; }获取此节点的直接子节点的数量。
CustomNodeId { get; set; }指定自定义节点标识符。
DateDisplayFormat { get; set; }表示日期显示格式的字符串。 不能无效的. 英语(美国)的日期为“mm/dd/yyyy”
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)接受访客。
AppendChild(Node)将指定节点添加到该节点的子节点列表的末尾。
Clear()清除此结构化文档标记的内容并显示占位符(如果已定义)。
Clone(bool)创建节点的副本。
CreateNavigator()创建可用于遍历和读取节点的导航器。
GetAncestor(NodeType)获取指定的第一个祖先NodeType.
GetAncestor(Type)获取指定对象类型的第一个祖先。
GetChild(NodeType, int, bool)返回与指定类型匹配的第 N 个子节点。
GetChildNodes(NodeType, bool)返回与指定类型匹配的子节点的实时集合。
GetEnumerator()为该节点的子节点上的每个样式迭代提供支持。
override GetText()获取此节点及其所有子节点的文本。
IndexOf(Node)返回子节点数组中指定子节点的索引。
InsertAfter(NodeNode)在指定的引用节点之后立即插入指定的节点。
InsertBefore(NodeNode)在指定的引用节点之前插入指定的节点。
NextPreOrder(Node)根据先序树遍历算法获取下一个节点。
PrependChild(Node)将指定节点添加到该节点的子节点列表的开头。
PreviousPreOrder(Node)根据先序树遍历算法获取前一个节点。
Remove()将自身从父级中删除。
RemoveAllChildren()删除当前节点的所有子节点。
RemoveChild(Node)删除指定的子节点。
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 包可以使用 using 执行XmlMapping财产。

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

  • 块级 - 在段落和表格中,作为Body,HeaderFooter, Comment,Footnote或一个Shape节点。
  • 行级 - 在表中的行中,作为Table节点。
  • 单元格级 - 在表格行的单元格中,作为Row节点。
  • 内联级别 - 在内部的内联内容中,作为 a 的子级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);
}

也可以看看