XmlNode.InsertAfter(XmlNode, XmlNode) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вставляет указанный узел сразу после указанного эталонного узла.
public:
virtual System::Xml::XmlNode ^ InsertAfter(System::Xml::XmlNode ^ newChild, System::Xml::XmlNode ^ refChild);
public virtual System.Xml.XmlNode InsertAfter(System.Xml.XmlNode newChild, System.Xml.XmlNode refChild);
public virtual System.Xml.XmlNode? InsertAfter(System.Xml.XmlNode newChild, System.Xml.XmlNode? refChild);
abstract member InsertAfter : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
override this.InsertAfter : System.Xml.XmlNode * System.Xml.XmlNode -> System.Xml.XmlNode
Public Overridable Function InsertAfter (newChild As XmlNode, refChild As XmlNode) As XmlNode
Параметры
- newChild
- XmlNode
Узел для вставки.
- refChild
- XmlNode
Эталонный узел.
newChild помещается после refChild.
Возвращаемое значение
Вставленный узел.
Исключения
Этот узел имеет тип, который не разрешает дочерние узлы типа newChild узла.
Это newChild предок этого узла.
Он newChild был создан из документа, отличного от того, который создал этот узел.
Не refChild является дочерним элементом этого узла.
Этот узел доступен только для чтения.
Примеры
В следующем примере добавляется новый узел в XML-документ.
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.InsertAfter(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.InsertAfter(elem, root.FirstChild)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
Комментарии
Если refChild есть null, вставьте newChild в начало списка дочерних узлов. Все содержимое newChild вставляется в том же порядке после refChild. Если дерево newChild уже находится в дереве, он удаляется из исходной позиции и добавляется в его целевое положение. Дополнительные сведения о вставке узлов см. в разделе "Вставка узлов" в XML-документ.
Если узел, вставленный из другого документа, можно импортировать XmlDocument.ImportNode узел в текущий документ. Затем импортированный узел можно вставить в текущий документ.
Этот метод представляет собой расширение Microsoft объектной модели документа (DOM).
Примечания для тех, кто наследует этот метод
При переопределении InsertAfter в производном классе для правильного создания событий необходимо вызвать InsertAfter метод базового класса.