XmlNode.InsertBefore(XmlNode, XmlNode) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vloží zadaný uzel bezprostředně před zadaný referenční uzel.
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
Uzel, který chcete vložit.
- refChild
- XmlNode
Referenční uzel. newChild
je umístěn před tímto uzlem.
Návraty
Vložený uzel.
Výjimky
Aktuální uzel je typu, který nepovoluje podřízené uzly typu newChild
uzlu.
Toto newChild
je nadřazený uzel.
Byl newChild
vytvořen z jiného dokumentu než z dokumentu, který vytvořil tento uzel.
Není refChild
podřízeným uzlem.
Tento uzel je jen pro čtení.
Příklady
Následující příklad přidá do dokumentu XML nový uzel.
#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
Poznámky
Pokud refChild
je null
, vložte newChild
na konec seznamu podřízených uzlů. Všechny obsahy jsou newChild
vloženy ve stejném pořadí před refChild
. newChild
Pokud je již ve stromu, odebere se z původní pozice a přidá se do cílové pozice. Další informace o vkládání uzlů najdete v tématu Vložení uzlů do dokumentu XML.
Pokud byl uzel vložen z jiného dokumentu, můžete ho importovat XmlDocument.ImportNode do aktuálního dokumentu. Importovaný uzel se pak dá vložit do aktuálního dokumentu.
Poznámky pro dědice
Při přepsání InsertBefore
v odvozené třídě, aby události byly vyvolány správně, je nutné volat InsertBefore
metodu základní třídy.