XmlNode.InsertBefore(XmlNode, XmlNode) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wstawia określony węzeł bezpośrednio przed określonym węzłem odniesienia.
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
Parametry
- newChild
- XmlNode
Węzeł do wstawienia.
- refChild
- XmlNode
Węzeł odniesienia.
newChild
jest umieszczany przed tym węzłem.
Zwraca
Wstawiony węzeł.
Wyjątki
Bieżący 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->InsertBefore( 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.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
Uwagi
Jeśli refChild
jest to null
, wstaw newChild
na końcu listy węzłów podrzędnych. Cała zawartość elementu newChild
jest wstawiana w tej samej kolejności przed 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.
Uwagi dotyczące dziedziczenia
Podczas zastępowania InsertBefore
klasy pochodnej w celu poprawnego wywoływania zdarzeń należy wywołać metodę InsertBefore
klasy bazowej.