Clone

Node.Clone method

Crea un duplicato del nodo.

public Node Clone(bool isCloneChildren)
ParametroTipoDescrizione
isCloneChildrenBooleanTrue per clonare ricorsivamente il sottoalbero sotto il nodo specificato; false per clonare solo il nodo stesso.

Valore di ritorno

Il nodo clonato.

Osservazioni

Questo metodo funge da costruttore di copie per i nodi. Il nodo clonato non ha un elemento padre, ma appartiene allo stesso documento del nodo originale.

Questo metodo esegue sempre una copia profonda del nodo.isCloneChildren parameter specifica se eseguire anche la copia di tutti i nodi figlio.

Esempi

Mostra come clonare un nodo composito.

Document doc = new Document();
Paragraph para = doc.FirstSection.Body.FirstParagraph;
para.AppendChild(new Run(doc, "Hello world!"));

// Di seguito sono riportati due metodi per clonare un nodo composito.
// 1 - Crea un clone di un nodo e crea anche un clone di ciascuno dei suoi nodi figlio.
Node cloneWithChildren = para.Clone(true);

Assert.IsTrue(((CompositeNode)cloneWithChildren).HasChildNodes);
Assert.AreEqual("Hello world!", cloneWithChildren.GetText().Trim());

// 2 - Crea un clone di un nodo senza alcun elemento figlio.
Node cloneWithoutChildren = para.Clone(false);

Assert.IsFalse(((CompositeNode)cloneWithoutChildren).HasChildNodes);
Assert.AreEqual(string.Empty, cloneWithoutChildren.GetText().Trim());

Guarda anche