RemoveAllChildren

StructuredDocumentTagRangeStart.RemoveAllChildren method

Removes all the nodes between this range start node and the range end node.

public void RemoveAllChildren()

Examples

Shows how to create/remove structured document tag and its content.

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

builder.Writeln("StructuredDocumentTag element");

StructuredDocumentTagRangeStart rangeStart = InsertStructuredDocumentTagRanges(doc);

// Removes ranged structured document tag, but keeps content inside.
rangeStart.RemoveSelfOnly();

rangeStart = (StructuredDocumentTagRangeStart)doc.GetChild(
    NodeType.StructuredDocumentTagRangeStart, 0, false);
Assert.That(rangeStart, Is.EqualTo(null));

StructuredDocumentTagRangeEnd rangeEnd = (StructuredDocumentTagRangeEnd)doc.GetChild(
    NodeType.StructuredDocumentTagRangeEnd, 0, false);

Assert.That(rangeEnd, Is.EqualTo(null));
Assert.That(doc.GetText().Trim(), Is.EqualTo("StructuredDocumentTag element"));

rangeStart = InsertStructuredDocumentTagRanges(doc);

Node paragraphNode = rangeStart.LastOrDefault();
Assert.That(paragraphNode?.GetText().Trim(), Is.EqualTo("StructuredDocumentTag element"));

// Removes ranged structured document tag and content inside.
rangeStart.RemoveAllChildren();

paragraphNode = rangeStart.LastOrDefault();
Assert.That(paragraphNode?.GetText(), Is.EqualTo(null));

Shows how to create/remove structured document tag and its content (InsertStructuredDocumentTagRanges).

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;
}

See Also