XmlNode.CloneNode(Boolean) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Létrehoz egy másolatot a csomópontról, ha felül van bírálva egy származtatott osztályban.
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
Paraméterek
- deep
- Boolean
true a részösszeg rekurzív klónozása a megadott csomópont alatt; false csak magát a csomópontot klónozza.
Válaszok
A klónozott csomópont.
Kivételek
Ezt a metódust olyan csomóponttípuson hívja meg, amely nem klónozott.
Példák
Az alábbi példa a mély és a sekély klón közötti különbséget mutatja be.
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
Megjegyzések
Ez a módszer a csomópontok másolási konstruktoraként szolgál. Az ismétlődő csomópontnak nincs szülője (ParentNode visszaadja null).
Az alábbi táblázat az egyes XmlNodeTypeviselkedéseket ismerteti.
| XmlNodeType | CloneNode(true) | CloneNode(false) |
|---|---|---|
| Attribute | Klónozza az attribútumcsomópontot, beleértve a gyermekcsomópontokat is. | Klónozza az attribútumcsomópontot, beleértve a gyermekcsomópontokat is. |
| CData | Klónozza a CData-csomópontot, beleértve az adattartalmat is. | Klónozza a CData-csomópontot, beleértve az adattartalmat is. |
| Megjegyzés | Klónozza a megjegyzéscsomópontot, beleértve annak szöveges tartalmát is. | Klónozza a megjegyzéscsomópontot, beleértve annak szöveges tartalmát is. |
| Dokumentum | Klónozza a dokumentumcsomópontot, beleértve a gyermekcsomópontokat is. | Klónozza a dokumentumcsomópontot. |
| DocumentFragment | Klónozza a dokumentumtöredékcsomópontot, beleértve a gyermekcsomópontokat is. | Klónozza a dokumentumtöredék csomópontját. |
| Dokumentumtípus | Klónozza a dokumentumtípus-csomópontot. | Klónozza a dokumentumtípus-csomópontot. |
| Elem | Klónozza az elemcsomópontot, annak attribútumait és minden gyermekcsomópontot. | Klónozza az elemcsomópontot és annak attribútumait, beleértve az alapértelmezett attribútumokat is. |
| Entity | Az entitáscsomópontok nem klónozhatnak. | Az entitáscsomópontok nem klónozhatnak. |
| EntityReference | Klónozza az entitás referenciacsomópontot. A helyettesítő szöveg nem szerepel a szövegben. | Klónozza az entitás referenciacsomópontot. A helyettesítő szöveg nem szerepel a szövegben. |
| Notation | A jelölési csomópontok nem klónozhatnak. | A jelölési csomópontok nem klónozhatnak. |
| Feldolgozási utasítás | Klónozza a feldolgozási utasítás csomópontot, beleértve annak célját és adatait. | Klónozza a feldolgozási utasítás csomópontot, beleértve annak célját és adatait. |
| JelentősHelyköz | Klónozza a jelentős üres hely csomópontot, beleértve az adatértékét is. | Klónozza a jelentős üres hely csomópontot, beleértve az adatértékét is. |
| Szöveg | Klónozza a szöveges csomópontot, beleértve az adatértéket is. | Klónozza a szöveges csomópontot, beleértve az adatértéket is. |
| Whitespace | Klónozza a üres hely csomópontját, beleértve az adatértéket is. | Klónozza a üres hely csomópontját, beleértve az adatértéket is. |
| XML-nyilatkozat | Klónozza az XmlDeclaration csomópontot, beleértve az adatértéket is. | Klónozza az XmlDeclaration csomópontot, beleértve az adatértéket is. |
| Minden más csomóponttípus. | Ezeket a csomóponttípusokat nem lehet klónozni. | Ezeket a csomóponttípusokat nem lehet klónozni. |