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

Определение

Вставляет указанный узел непосредственно перед указанным эталонным узлом.

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

Параметры

newChild
XmlNode

Узел для вставки.

refChild
XmlNode

Эталонный узел. newChild помещается перед этим узлом.

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

Вставленный узел.

Исключения

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

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

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

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

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

Примеры

В следующем примере добавляется новый узел в 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 node.
    XmlElement elem = doc.CreateElement("price");
    elem.InnerText="19.95";

    //Add the node to the document.
    root.InsertBefore(elem, root.FirstChild);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);
  }
}
Option Strict
Option Explicit

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 node.
        Dim elem As XmlElement = doc.CreateElement("price")
        elem.InnerText = "19.95"
        
        'Add the node to the document.
        root.InsertBefore(elem, root.FirstChild)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

Комментарии

Если refChild есть null, вставьте newChild в конец списка дочерних узлов. Все содержимое newChild вставки в том же порядке перед refChild. Если дерево newChild уже находится в дереве, он удаляется из исходной позиции и добавляется в его целевое положение. Дополнительные сведения о вставке узлов см. в разделе "Вставка узлов" в XML-документ.

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

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

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

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

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