StructuredDocumentTag

StructuredDocumentTag class

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

public class StructuredDocumentTag : CompositeNode, IStructuredDocumentTag

构造函数

姓名 描述
StructuredDocumentTag(DocumentBase, SdtType, MarkupLevel) 初始化 结构化文档标签类.

特性

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

方法

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

评论

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

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

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;

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

也可以看看