Range

Range class

表示文档中的一个连续区域。

public class Range

特性

姓名 描述
Bookmarks { get; } 返回一个Bookmarks代表范围内所有书签的集合。
Fields { get; } 返回一个Fields代表范围内所有字段的集合。
FormFields { get; } 返回一个FormFields代表范围内所有表单字段的集合。
StructuredDocumentTags { get; } 返回一个StructuredDocumentTags表示范围内所有结构化文档标签的集合。
Text { get; } 获取范围的文本。

方法

姓名 描述
Delete() 删除范围内的所有字符。
NormalizeFieldTypes() 更改字段类型值FieldTypeFieldStart,FieldSeparator,FieldEnd 在此范围内,以便它们对应于字段代码中包含的字段类型。
Replace(Regex, string) 用另一个字符串替换所有出现的由正则表达式指定的字符模式。
Replace(string, string) 用替换字符串替换所有出现的指定字符串模式。
Replace(Regex, string, FindReplaceOptions) 用另一个字符串替换所有出现的由正则表达式指定的字符模式。
Replace(string, string, FindReplaceOptions) 用替换字符串替换所有出现的指定字符串模式。
ToDocument() 构造一个包含范围的新完整文档。
UnlinkFields() 取消链接此范围内的字段。
UpdateFields() 更新此范围内文档字段的值。

评论

文档由节点树表示,节点提供 operations 以使用树,但如果将 document 视为连续的文本序列,则某些操作更容易执行。

范围是一个“外观”接口,它提供将 document 或文档部分视为“平面”文本的方法,而不管 document 节点是否存储在树状对象模型中。

范围不包含任何文本或节点,它只是文档片段上的视图或“窗口” 。

例子

显示如何获取范围涵盖的所有节点的文本内容。

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

builder.Write("Hello world!");

Assert.AreEqual("Hello world!", doc.Range.Text.Trim());

也可以看看