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

Определение

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

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

Параметры

newChild
XmlNode

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

refChild
XmlNode

Узел ссылки. newChild располагается после refChild.

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

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

Исключения

Данный узел относится к типу, который не допускает дочерних узлов типа newChild.

Узел newChild является предком данного узла.

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

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

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

Примеры

В следующем примере новый узел добавляется в XML-документ.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew 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->InsertAfter( elem, root->FirstChild );
   Console::WriteLine( "Display the modified XML..." );
   doc->Save( Console::Out );
}
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.InsertAfter(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.InsertAfter(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 импорта узла в текущий документ. Затем импортированный узел можно вставить в текущий документ.

Этот метод является расширением Майкрософт для модели DOM.

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

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

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

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