XmlNode.ReplaceChild(XmlNode, XmlNode) Метод

Определение

Заменяет дочерний узел oldChildnewChild узлом.

public:
 virtual System::Xml::XmlNode ^ ReplaceChild(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ oldChild);
public virtual System.Xml.XmlNode ReplaceChild(System.Xml.XmlNode newChild, System.Xml.XmlNode oldChild);
abstract member ReplaceChild : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.ReplaceChild : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function ReplaceChild (newChild As XmlNode, oldChild As XmlNode) As XmlNode

Параметры

newChild
XmlNode

Новый узел, который будет помещен в дочерний список.

oldChild
XmlNode

Узел, заменяемый в списке.

Возвращаемое значение

Узел заменен.

Исключения

Этот узел имеет тип, который не разрешает дочерние узлы типа newChild узла.

Это newChild предок этого узла.

Он newChild был создан из документа, отличного от того, который создал этот узел.

Этот узел доступен только для чтения.

Не oldChild является дочерним элементом этого узла.

Примеры

Следующий пример заменяет элемент title в XML-документе.

using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "</book>");

    XmlNode root = doc.DocumentElement;

    //Create a new title element.
    XmlElement elem = doc.CreateElement("title");
    elem.InnerText="The Handmaid's Tale";

    //Replace the title element.
    root.ReplaceChild(elem, root.FirstChild);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);
  }
}
Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        
        Dim doc As New XmlDocument()
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "</book>")
        
        Dim root As XmlNode = doc.DocumentElement
        
        'Create a new title element.
        Dim elem As XmlElement = doc.CreateElement("title")
        elem.InnerText = "The Handmaid's Tale"
        
        'Replace the title element.
        root.ReplaceChild(elem, root.FirstChild)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

Комментарии

Если он newChild уже находится в дереве, он сначала удаляется.

Если он newChild был создан из другого документа, можно импортировать XmlDocument.ImportNode узел в текущий документ. Затем импортированный узел можно передать методу ReplaceChild .

Примечания для тех, кто наследует этот метод

При переопределении ReplaceChild в производном классе для правильного создания событий необходимо вызвать ReplaceChild метод базового класса.

Применяется к

См. также раздел