XmlNode.AppendChild(XmlNode) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет указанный узел в конец списка дочерних узлов данного узла.
public:
virtual System::Xml::XmlNode ^ AppendChild(System::Xml::XmlNode ^ newChild);
public virtual System.Xml.XmlNode AppendChild (System.Xml.XmlNode newChild);
public virtual System.Xml.XmlNode? AppendChild (System.Xml.XmlNode newChild);
abstract member AppendChild : System.Xml.XmlNode -> System.Xml.XmlNode
override this.AppendChild : System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function AppendChild (newChild As XmlNode) As XmlNode
Параметры
- newChild
- XmlNode
Добавляемый узел. Все содержимое узла, которое должно быть добавлено, перемещается в указанное расположение.
Возвращаемое значение
Добавленный узел.
Исключения
Данный узел относится к типу, который не допускает дочерних узлов типа newChild
.
Узел newChild
является предком данного узла.
Узел newChild
был создан из другого документа, отличного от документа, из которого был создан этот узел.
Этот узел доступен только для чтения.
Примеры
В следующем примере новый узел добавляется в 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->AppendChild( elem );
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.AppendChild(elem);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
Option Explicit
Option Strict
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.AppendChild(elem)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
Выходные данные:
Display the modified XML...
<?xml version="1.0" encoding="IBM437"?>
<book genre="novel" ISBN="1-861001-57-5">
<title>Pride And Prejudice</title>
<price>19.95</price>
Комментарии
Если объект newChild
уже находится в дереве, он удаляется из исходного положения и добавляется в целевую позицию. Дополнительные сведения о вставке узлов см. в разделе Вставка узлов в XML-документ.
Если вставляемый узел был создан из другого документа, можно использовать для XmlDocument.ImportNode импорта узла в текущий документ. Затем импортированный узел можно вставить в текущий документ.
Примечания для тех, кто наследует этот метод
При переопределении AppendChild
в производном классе для правильного вызова событий необходимо вызвать AppendChild
метод базового класса.