XmlNode.Clone Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает дубликат этого узла.
public:
virtual System::Xml::XmlNode ^ Clone();
public virtual System.Xml.XmlNode Clone();
abstract member Clone : unit -> System.Xml.XmlNode
override this.Clone : unit -> System.Xml.XmlNode
Public Overridable Function Clone () As XmlNode
Возвращаемое значение
Клонированные узлы.
Примеры
В следующем примере клонирует корневой узел XML-документа.
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;
//Clone the root node. The cloned node includes
//child nodes. This is similar to calling CloneNode(true).
XmlNode clone = root.Clone();
Console.WriteLine(clone.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
'Clone the root node. The cloned node includes
'child nodes. This is similar to calling CloneNode(true).
Dim clone As XmlNode = root.Clone()
Console.WriteLine(clone.OuterXml)
End Sub
End Class
Комментарии
Клонирование XmlElement копирует все атрибуты и их значения, включая те, которые создаются обработчиком XML для представления атрибутов по умолчанию. Этот метод рекурсивно клонирует узел и поддерев поддерев.
Clone эквивалентно вызову CloneNode(true).
В следующей таблице описывается конкретное поведение для каждого XmlNodeType.
| XmlNodeType | Clone |
|---|---|
| Атрибут | Клонирует узел атрибута, включая дочерние узлы. |
| CData | Клонирует узел CData, включая его содержимое данных. |
| Комментарий | Клонирует узел комментариев, включая его текстовое содержимое. |
| Документ | Клонирует узел документа, включая все дочерние узлы. |
| DocumentFragment | Клонирует узел фрагмента документа, включая все дочерние узлы. |
| Тип документа | Клонирует узел типа документа. |
| Элемент | Клонирует узел элемента, его атрибуты и все дочерние узлы. |
| Entity | Узлы сущностей нельзя клонировать. |
| EntityReference | Клонирует узел ссылки на сущность. Текст замены не включен. |
| Notation | Узлы нотации нельзя клонировать. |
| Инструкция по обработке | Клонирует узел инструкций обработки, включая его целевой объект и данные. |
| ЗначащиеПробелы (SignificantWhitespace) | Клонирует значительный узел пробела, включая его значение данных. |
| Text | Клонирует текстовый узел, включая его значение данных. |
| Пробелы | Клонирует узел пробела, включая его значение данных. |
| Объявление XML | Клонирует узел XmlDeclaration, включая его значение данных. |
| Все остальные типы узлов. | Эти типы узлов нельзя клонировать. |
Этот метод представляет собой расширение Microsoft объектной модели документа (DOM).