RemoveSelfOnly
内容
[
隐藏
]StructuredDocumentTagRangeStart.RemoveSelfOnly method
删除结构化文档标签的此范围起始和适当范围结束节点, 但保留其内容在文档树内。
public void RemoveSelfOnly()
例子
展示如何创建/删除结构化文档标签及其内容。
public void SdtRangeExtendedMethods()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("StructuredDocumentTag element");
StructuredDocumentTagRangeStart rangeStart = InsertStructuredDocumentTagRanges(doc);
// 删除范围结构化文档标签,但保留其中的内容。
rangeStart.RemoveSelfOnly();
rangeStart = (StructuredDocumentTagRangeStart)doc.GetChild(
NodeType.StructuredDocumentTagRangeStart, 0, false);
Assert.AreEqual(null, rangeStart);
StructuredDocumentTagRangeEnd rangeEnd = (StructuredDocumentTagRangeEnd)doc.GetChild(
NodeType.StructuredDocumentTagRangeEnd, 0, false);
Assert.AreEqual(null, rangeEnd);
Assert.AreEqual("StructuredDocumentTag element", doc.GetText().Trim());
rangeStart = InsertStructuredDocumentTagRanges(doc);
Node paragraphNode = rangeStart.LastOrDefault();
Assert.AreEqual("StructuredDocumentTag element", paragraphNode?.GetText().Trim());
// 删除范围结构化文档标签及其内部内容。
rangeStart.RemoveAllChildren();
paragraphNode = rangeStart.LastOrDefault();
Assert.AreEqual(null, paragraphNode?.GetText());
}
public StructuredDocumentTagRangeStart InsertStructuredDocumentTagRanges(Document doc)
{
StructuredDocumentTagRangeStart rangeStart = new StructuredDocumentTagRangeStart(doc, SdtType.PlainText);
StructuredDocumentTagRangeEnd rangeEnd = new StructuredDocumentTagRangeEnd(doc, rangeStart.Id);
doc.FirstSection.Body.InsertBefore(rangeStart, doc.FirstSection.Body.FirstParagraph);
doc.LastSection.Body.InsertAfter(rangeEnd, doc.FirstSection.Body.FirstParagraph);
return rangeStart;
}