Udostępnij za pośrednictwem


XmlNode.InsertAfter(XmlNode, XmlNode) Metoda

Definicja

Wstawia określony węzeł bezpośrednio po określonym węźle odniesienia.

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

Parametry

newChild
XmlNode

Węzeł do wstawienia.

refChild
XmlNode

Węzeł odniesienia. newChild jest umieszczana po refChild.

Zwraca

Wstawiony węzeł.

Wyjątki

Ten węzeł jest typu, który nie zezwala na węzły podrzędne typu węzła newChild .

Element newChild jest elementem nadrzędnym tego węzła.

Plik newChild został utworzony na podstawie innego dokumentu niż ten, który utworzył ten węzeł.

Element refChild nie jest elementem podrzędnym tego węzła.

Ten węzeł jest tylko do odczytu.

Przykłady

Poniższy przykład dodaje nowy węzeł do dokumentu 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

Uwagi

Jeśli refChild jest to null, wstaw newChild na początku listy węzłów podrzędnych. Cała zawartość elementu newChild jest wstawiana w tej samej kolejności po refChild. Jeśli obiekt newChild znajduje się już w drzewie, zostanie usunięty z oryginalnej pozycji i dodany do pozycji docelowej. Aby uzyskać więcej informacji na temat wstawiania węzłów, zobacz Wstawianie węzłów do dokumentu XML.

Jeśli wstawiony węzeł został utworzony z innego dokumentu, możesz użyć XmlDocument.ImportNode polecenia , aby zaimportować węzeł do bieżącego dokumentu. Zaimportowany węzeł można następnie wstawić do bieżącego dokumentu.

Ta metoda jest rozszerzeniem Microsoft do modelu obiektów dokumentów (DOM).

Uwagi dotyczące dziedziczenia

Podczas zastępowania InsertAfter klasy pochodnej w celu poprawnego wywoływania zdarzeń należy wywołać metodę InsertAfter klasy bazowej.

Dotyczy

Zobacz też