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

Определение

Вставляет заданный узел сразу после указанного узла ссылки.Inserts the specified node immediately after the specified reference node.

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

Вставляемый узел.The node to insert.

refChild
XmlNode

Узел ссылки.The reference node. newChild располагается после refChild.newChild is placed after refChild.

Возвраты

Вставляемый узел.The node being inserted.

Исключения

Данный узел относится к типу, который не допускает дочерних узлов типа newChild.This node is of a type that does not allow child nodes of the type of the newChild node.

Узел newChild является предком данного узла.The newChild is an ancestor of this node.

Узел newChild был создан из другого документа, отличного от документа, из которого был создан этот узел.The newChild was created from a different document than the one that created this node.

Узел refChild не является дочерним для этого узла.The refChild is not a child of this node.

Этот узел доступен только для чтения.This node is read-only.

Примеры

В следующем примере в XML-документ добавляется новый узел.The following example adds a new node to the XML document.

#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 в начале списка дочерних узлов.If refChild is null, insert newChild at the beginning of the list of child nodes. Все содержимое newChild вставляется в том же порядке, что и после refChild.All the contents of the newChild are inserted, in the same order, after refChild. Если newChild уже находится в дереве, он удаляется из его первоначального расположения и добавляется в целевую точку.If the newChild is already in the tree, it is removed from its original position and added to its target position. Дополнительные сведения о вставке узлов см. в разделе Вставка узлов в XML-документ.For more information about inserting nodes, see Inserting Nodes into an XML Document.

Если вставляемый узел был создан из другого документа, можно использовать XmlDocument.ImportNode для импорта узла в текущий документ.If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. Импортированный узел можно затем вставить в текущий документ.The imported node can then be inserted into the current document.

Этот метод является расширением Майкрософт для модель DOM (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

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

При переопределении InsertAfter в производном классе, чтобы события были вызваны должным образом, необходимо вызвать метод InsertAfter базового класса.When overriding InsertAfter in a derived class, in order for events to be raised correctly, you must call the InsertAfter method of the base class.

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

Дополнительно