XmlNode.ReplaceChild(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.
Zastępuje węzeł podrzędny węzłem oldChild
newChild
.
public:
virtual System::Xml::XmlNode ^ ReplaceChild(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ oldChild);
public virtual System.Xml.XmlNode ReplaceChild (System.Xml.XmlNode newChild, System.Xml.XmlNode oldChild);
abstract member ReplaceChild : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.ReplaceChild : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function ReplaceChild (newChild As XmlNode, oldChild As XmlNode) As XmlNode
Parametry
- newChild
- XmlNode
Nowy węzeł do umieszczenia na liście podrzędnej.
- oldChild
- XmlNode
Węzeł jest zastępowany na liście.
Zwraca
Węzeł został zastąpiony.
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ł.
Ten węzeł jest tylko do odczytu.
Element oldChild
nie jest elementem podrzędnym tego węzła.
Przykłady
Poniższy przykład zastępuje element tytułu w dokumencie 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 title element.
XmlElement^ elem = doc->CreateElement( "title" );
elem->InnerText = "The Handmaid's Tale";
//Replace the title element.
root->ReplaceChild( 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 title element.
XmlElement elem = doc.CreateElement("title");
elem.InnerText="The Handmaid's Tale";
//Replace the title element.
root.ReplaceChild(elem, root.FirstChild);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
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 title element.
Dim elem As XmlElement = doc.CreateElement("title")
elem.InnerText = "The Handmaid's Tale"
'Replace the title element.
root.ReplaceChild(elem, root.FirstChild)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
Uwagi
Jeśli element newChild
znajduje się już w drzewie, zostanie on najpierw usunięty.
Jeśli element newChild
został utworzony na podstawie innego dokumentu, możesz użyć XmlDocument.ImportNode polecenia , aby zaimportować węzeł do bieżącego dokumentu. Zaimportowany węzeł można następnie przekazać do ReplaceChild
metody .
Uwagi dotyczące dziedziczenia
Podczas zastępowania ReplaceChild
klasy pochodnej w celu poprawnego wywoływania zdarzeń należy wywołać metodę ReplaceChild
klasy bazowej.