GlossaryDocument
内容
[
隐藏
]GlossaryDocument class
表示 Word 文档中术语表文档的根元素。 术语表文档是自动图文集、自动更正条目和构建块的存储。
要了解更多信息,请访问Aspose.Words 文档对象模型 (DOM)文档文章。
public class GlossaryDocument : DocumentBase
构造函数
姓名 | 描述 |
---|---|
GlossaryDocument() | 默认构造函数。 |
特性
姓名 | 描述 |
---|---|
BackgroundShape { get; set; } | 获取或设置文档的背景形状。可无效的 . |
BuildingBlocks { get; } | 返回一个类型化集合,表示术语表文档中的所有构建块。 |
Count { get; } | 获取此节点的直接子节点的数量。 |
CustomNodeId { get; set; } | 指定自定义节点标识符。 |
override Document { get; } | 获取此实例。 |
FirstBuildingBlock { get; } | 获取词汇表文档中的第一个构建块。 |
FirstChild { get; } | 获取节点的第一个子节点。 |
FontInfos { get; } | 提供对本文档中使用的字体属性的访问。 |
HasChildNodes { get; } | 返回真的 如果该节点有任何子节点. |
override IsComposite { get; } | 返回真的 因为该节点可以有子节点。 |
LastBuildingBlock { get; } | 获取术语表文档中的最后一个构建块。 |
LastChild { get; } | 获取节点的最后一个子节点。 |
Lists { get; } | 提供对文档中使用的列表格式的访问。 |
NextSibling { get; } | 获取紧随该节点的下一个节点。 |
NodeChangingCallback { get; set; } | 在文档中插入或删除节点时调用。 |
override NodeType { get; } | 返回GlossaryDocument值. |
PageColor { get; set; } | 获取或设置文档的页面颜色。这个属性是一个更简单的版本BackgroundShape . |
ParentNode { get; } | 获取此节点的直接父节点。 |
PreviousSibling { get; } | 获取紧邻此节点之前的节点。 |
Range { get; } | 返回一个Range 表示此节点中包含的文档部分的对象。 |
ResourceLoadingCallback { get; set; } | 允许控制如何加载外部资源。 |
Styles { get; } | 返回文档中定义的样式集合。 |
WarningCallback { get; set; } | 在检测到可能导致 数据或格式保真度损失的问题时在各种文档处理过程中调用。 |
方法
姓名 | 描述 |
---|---|
override Accept(DocumentVisitor) | 接受访客。 |
AppendChild(Node) | 将指定节点添加到该节点的子节点列表的末尾。 |
Clone(bool) | 创建节点的副本。 |
CreateNavigator() | 创建可用于遍历和读取节点的导航器。 |
GetAncestor(NodeType) | 获取指定的第一个祖先NodeType . |
GetAncestor(Type) | 获取指定对象类型的第一个祖先。 |
GetBuildingBlock(BuildingBlockGallery, string, string) | 使用指定的图库、类别和名称查找构建块。 |
GetChild(NodeType, int, bool) | 返回与指定类型匹配的第 N 个子节点。 |
GetChildNodes(NodeType, bool) | 返回与指定类型匹配的子节点的实时集合。 |
GetEnumerator() | 为该节点的子节点上的每个样式迭代提供支持。 |
override GetText() | 获取此节点及其所有子节点的文本。 |
ImportNode(Node, bool) | 将节点从另一个文档导入到当前文档。 |
ImportNode(Node, bool, ImportFormatMode) | 将节点从另一个文档导入到当前文档,并提供控制格式的选项。 |
IndexOf(Node) | 返回子节点数组中指定子节点的索引。 |
InsertAfter(Node, Node) | 在指定的引用节点之后立即插入指定的节点。 |
InsertBefore(Node, Node) | 在指定的引用节点之前插入指定的节点。 |
NextPreOrder(Node) | 根据先序树遍历算法获取下一个节点。 |
PrependChild(Node) | 将指定节点添加到该节点的子节点列表的开头。 |
PreviousPreOrder(Node) | 根据先序树遍历算法获取前一个节点。 |
Remove() | 将自身从父级中删除。 |
RemoveAllChildren() | 删除当前节点的所有子节点。 |
RemoveChild(Node) | 删除指定的子节点。 |
RemoveSmartTags() | 删除所有SmartTag 当前节点的后代节点. |
SelectNodes(string) | 选择与 XPath 表达式匹配的节点列表。 |
SelectSingleNode(string) | 选择第一个Node 与 XPath 表达式匹配。 |
ToString(SaveFormat) | 将节点的内容导出为指定格式的字符串。 |
ToString(SaveOptions) | 使用指定的保存选项将节点的内容导出到字符串中。 |
评论
某些文档(通常是模板)可以包含自动图文集、自动更正条目 和/或构建块(也称为术语表文档条目,文件部分 或建筑模块)。
要访问构建块,您需要将文档加载到Document
对象。构建块将通过GlossaryDocument
财产。
GlossaryDocument
可以包含任意数量的BuildingBlock
对象. 每个BuildingBlock
代表一个文档部分。
对应于术语表文档和文档部分OOXML 中的元素。
例子
显示访问术语表文档中的构建块的方法。
public void GlossaryDocument()
{
Document doc = new Document();
GlossaryDocument glossaryDoc = new GlossaryDocument();
glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 1" });
glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 2" });
glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 3" });
glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 4" });
glossaryDoc.AppendChild(new BuildingBlock(glossaryDoc) { Name = "Block 5" });
Assert.AreEqual(5, glossaryDoc.BuildingBlocks.Count);
doc.GlossaryDocument = glossaryDoc;
// 访问构建块的方式有多种。
// 1 - 获取集合中的第一个/最后一个构建块:
Assert.AreEqual("Block 1", glossaryDoc.FirstBuildingBlock.Name);
Assert.AreEqual("Block 5", glossaryDoc.LastBuildingBlock.Name);
// 2 - 通过索引获取构建块:
Assert.AreEqual("Block 2", glossaryDoc.BuildingBlocks[1].Name);
Assert.AreEqual("Block 3", glossaryDoc.BuildingBlocks.ToArray()[2].Name);
// 3 - 获取与画廊、名称和类别匹配的第一个构建块:
Assert.AreEqual("Block 4",
glossaryDoc.GetBuildingBlock(BuildingBlockGallery.All, "(Empty Category)", "Block 4").Name);
// 我们将使用自定义访问者来做到这一点,
// 这将为 GlossaryDocument 中的每个 BuildingBlock 提供唯一的 GUID
GlossaryDocVisitor visitor = new GlossaryDocVisitor();
glossaryDoc.Accept(visitor);
Console.WriteLine(visitor.GetText());
// 在 Microsoft Word 中,我们可以通过“插入”-> 来访问构建块“快速零件”-> “积木组织者”。
doc.Save(ArtifactsDir + "BuildingBlocks.GlossaryDocument.dotx");
}
/// <summary>
/// 为访问的术语表文档中的每个构建块提供唯一的 GUID。
/// 将 GUID 构建块对存储在字典中。
/// </summary>
public class GlossaryDocVisitor : DocumentVisitor
{
public GlossaryDocVisitor()
{
mBlocksByGuid = new Dictionary<Guid, BuildingBlock>();
mBuilder = new StringBuilder();
}
public string GetText()
{
return mBuilder.ToString();
}
public Dictionary<Guid, BuildingBlock> GetDictionary()
{
return mBlocksByGuid;
}
public override VisitorAction VisitGlossaryDocumentStart(GlossaryDocument glossary)
{
mBuilder.AppendLine("Glossary document found!");
return VisitorAction.Continue;
}
public override VisitorAction VisitGlossaryDocumentEnd(GlossaryDocument glossary)
{
mBuilder.AppendLine("Reached end of glossary!");
mBuilder.AppendLine("BuildingBlocks found: " + mBlocksByGuid.Count);
return VisitorAction.Continue;
}
public override VisitorAction VisitBuildingBlockStart(BuildingBlock block)
{
block.Guid = Guid.NewGuid();
mBlocksByGuid.Add(block.Guid, block);
return VisitorAction.Continue;
}
public override VisitorAction VisitBuildingBlockEnd(BuildingBlock block)
{
mBuilder.AppendLine("\tVisited block \"" + block.Name + "\"");
mBuilder.AppendLine("\t Type: " + block.Type);
mBuilder.AppendLine("\t Gallery: " + block.Gallery);
mBuilder.AppendLine("\t Behavior: " + block.Behavior);
mBuilder.AppendLine("\t Description: " + block.Description);
return VisitorAction.Continue;
}
private readonly Dictionary<Guid, BuildingBlock> mBlocksByGuid;
private readonly StringBuilder mBuilder;
}
也可以看看
- class DocumentBase
- 命名空间 Aspose.Words.BuildingBlocks
- 部件 Aspose.Words