XmlNode.CloneNode(Boolean) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een duplicaat van het knooppunt wanneer het wordt overschreven in een afgeleide klasse.
public:
abstract System::Xml::XmlNode ^ CloneNode(bool deep);
public abstract System.Xml.XmlNode CloneNode(bool deep);
abstract member CloneNode : bool -> System.Xml.XmlNode
Public MustOverride Function CloneNode (deep As Boolean) As XmlNode
Parameters
- deep
- Boolean
true recursief de substructuur onder het opgegeven knooppunt te klonen; false om alleen het knooppunt zelf te klonen.
Retouren
Het gekloonde knooppunt.
Uitzonderingen
Deze methode aanroepen op een knooppunttype dat niet kan worden gekloond.
Voorbeelden
In het volgende voorbeeld ziet u het verschil tussen een diepe en ondiepe kloon.
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
XmlDocument doc = new XmlDocument();
doc.LoadXml("<book ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"<price>19.95</price>" +
"</book>");
XmlNode root = doc.FirstChild;
//Create a deep clone. The cloned node
//includes the child nodes.
XmlNode deep = root.CloneNode(true);
Console.WriteLine(deep.OuterXml);
//Create a shallow clone. The cloned node does not
//include the child nodes, but does include its attribute.
XmlNode shallow = root.CloneNode(false);
Console.WriteLine(shallow.OuterXml);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.LoadXml("<book ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"<price>19.95</price>" & _
"</book>")
Dim root As XmlNode = doc.FirstChild
'Create a deep clone. The cloned node
'includes the child nodes.
Dim deep As XmlNode = root.CloneNode(True)
Console.WriteLine(deep.OuterXml)
'Create a shallow clone. The cloned node does not
'include the child nodes, but does include its attribute.
Dim shallow As XmlNode = root.CloneNode(False)
Console.WriteLine(shallow.OuterXml)
End Sub
End Class
Opmerkingen
Deze methode fungeert als een kopieerconstructor voor knooppunten. Het dubbele knooppunt heeft geen bovenliggend element (ParentNoderetourneert).null
In de volgende tabel wordt het specifieke gedrag voor elke XmlNodeTypetabel beschreven.
| XmlNodeType | CloneNode(true) | CloneNode (onwaar) |
|---|---|---|
| Attribute | Kloont het kenmerkknooppunt, inclusief onderliggende knooppunten. | Kloont het kenmerkknooppunt, inclusief onderliggende knooppunten. |
| CData | Kloont het CData-knooppunt, inclusief de gegevensinhoud. | Kloont het CData-knooppunt, inclusief de gegevensinhoud. |
| Comment | Kloont het opmerkingknooppunt, inclusief de tekstinhoud. | Kloont het opmerkingknooppunt, inclusief de tekstinhoud. |
| Document | Kloont het documentknooppunt, inclusief eventuele onderliggende knooppunten. | Kloont het documentknooppunt. |
| DocumentFragment | Kloont het documentfragmentknooppunt, inclusief eventuele onderliggende knooppunten. | Kloont het documentfragmentknooppunt. |
| DocumentType | Kloont het knooppunt van het documenttype. | Kloont het knooppunt van het documenttype. |
| Element | Kloont het elementknooppunt, de bijbehorende kenmerken en eventuele onderliggende knooppunten. | Kloont het elementknooppunt en de bijbehorende kenmerken, inclusief eventuele standaardkenmerken. |
| Entiteit | Entiteitsknooppunten kunnen niet worden gekloond. | Entiteitsknooppunten kunnen niet worden gekloond. |
| EntityReference | Kloont het knooppunt voor entiteitsreferenties. De vervangende tekst is niet opgenomen. | Kloont het knooppunt voor entiteitsreferenties. De vervangende tekst is niet opgenomen. |
| Notation | Notatieknooppunten kunnen niet worden gekloond. | Notatieknooppunten kunnen niet worden gekloond. |
| Verwerkingsinstructie | Kloont het verwerkingsinstructieknooppunt, inclusief het doel en de gegevens. | Kloont het verwerkingsinstructieknooppunt, inclusief het doel en de gegevens. |
| SignificanteWitruimte | Kloont het significante witruimteknooppunt, inclusief de gegevenswaarde. | Kloont het significante witruimteknooppunt, inclusief de gegevenswaarde. |
| Text | Kloont het tekstknooppunt, inclusief de gegevenswaarde. | Kloont het tekstknooppunt, inclusief de gegevenswaarde. |
| Witte ruimte | Kloont het witruimteknooppunt, inclusief de gegevenswaarde. | Kloont het witruimteknooppunt, inclusief de gegevenswaarde. |
| XmlDeclaratie | Kloont het XmlDeclaration-knooppunt, inclusief de bijbehorende gegevenswaarde. | Kloont het XmlDeclaration-knooppunt, inclusief de bijbehorende gegevenswaarde. |
| Alle andere knooppunttypen. | Deze knooppunttypen kunnen niet worden gekloond. | Deze knooppunttypen kunnen niet worden gekloond. |