XmlNode.InsertBefore(XmlNode, XmlNode) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inserisce il nodo specificato immediatamente prima del nodo dei riferimenti indicato.
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
Parametri
- newChild
- XmlNode
Nodo da inserire.
- refChild
- XmlNode
Nodo di riferimento.
newChild
è posizionato prima di questo nodo.
Restituisce
Nodo da inserire.
Eccezioni
Per questo tipo di nodo non sono consentiti nodi figlio di tipo newChild
.
newChild
è un predecessore di questo nodo.
Il nodo newChild
è stato creato da un documento diverso da quello che ha creato il nodo corrente.
refChild
non è un nodo figlio del nodo corrente
Il nodo è di sola lettura.
Esempio
Nell'esempio seguente viene aggiunto un nuovo nodo al documento 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
Commenti
Se refChild
è null
, inserire newChild
alla fine dell'elenco dei nodi figlio. Tutti i contenuti di vengono inseriti, nello stesso ordine, prima refChild
di newChild
. Se l'oggetto newChild
è già presente nell'albero, viene rimosso dalla posizione originale e aggiunto alla posizione di destinazione. Per altre informazioni sull'inserimento di nodi, vedere Inserimento di nodi in un documento XML.
Se il nodo da inserire è stato creato da un altro documento, è possibile usare XmlDocument.ImportNode per importare il nodo nel documento corrente. Il nodo importato può quindi essere inserito nel documento corrente.
Note per gli eredi
Quando si esegue l'override InsertBefore
in una classe derivata, affinché gli eventi vengano generati correttamente, è necessario chiamare il InsertBefore
metodo della classe base.