XPathNavigator.PrependChild Метод

Определение

Создает новый дочерний узел в начале списка дочерних узлов текущего узла.

Перегрузки

PrependChild()

Возвращает объект XmlWriter, используемый для создания нового дочернего узла в начале списка дочерних узлов текущего узла.

PrependChild(String)

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя заданную строку XML.

PrependChild(XmlReader)

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя XML-содержимое указанного объекта XmlReader.

PrependChild(XPathNavigator)

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя узлы из указанного объекта XPathNavigator.

PrependChild()

Возвращает объект XmlWriter, используемый для создания нового дочернего узла в начале списка дочерних узлов текущего узла.

public:
 virtual System::Xml::XmlWriter ^ PrependChild();
public virtual System.Xml.XmlWriter PrependChild ();
abstract member PrependChild : unit -> System.Xml.XmlWriter
override this.PrependChild : unit -> System.Xml.XmlWriter
Public Overridable Function PrependChild () As XmlWriter

Возвращаемое значение

XmlWriter

Объект XmlWriter, используемый для создания нового дочернего узла в начале списка дочерних узлов текущего узла.

Исключения

Текущий узел, в котором расположен объект XPathNavigator, не разрешает добавить перед собой новый дочерний узел.

Объект XPathNavigator не поддерживает редактирование.

Примеры

В следующем примере новый pages дочерний элемент добавляется к началу списка дочерних элементов первого book элемента в contosoBooks.xml файле с помощью XmlWriter объекта, возвращаемого методом PrependChild .

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

XmlWriter^ pages = navigator->PrependChild();
pages->WriteElementString("pages", "100");
pages->Close();

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

XmlWriter pages = navigator.PrependChild();
pages.WriteElementString("pages", "100");
pages.Close();

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

Dim pages As XmlWriter = navigator.PrependChild()
pages.WriteElementString("pages", "100")
pages.Close()

Console.WriteLine(navigator.OuterXml)

В примере в качестве входных данных используется файл contosoBooks.xml.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Комментарии

Добавление нового узла в начало списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, то добавляемый узел становится первым дочерним узлом. Если дочерние узлы не существуют, создается новый дочерний узел.

Ниже приведены важные примечания, которые следует учитывать при использовании PrependChild метода.

  • Новый дочерний узел не вставляется до Close вызова метода XmlWriter объекта.

  • Метод PrependChild действителен только в том случае, если XPathNavigator он расположен на узле элемента.

  • Метод PrependChild не влияет на положение объекта XPathNavigator.

Применяется к

PrependChild(String)

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя заданную строку XML.

public:
 virtual void PrependChild(System::String ^ newChild);
public virtual void PrependChild (string newChild);
abstract member PrependChild : string -> unit
override this.PrependChild : string -> unit
Public Overridable Sub PrependChild (newChild As String)

Параметры

newChild
String

Строка данных XML для нового дочернего узла.

Исключения

Параметр строки XML — null.

Текущий узел, в котором расположен объект XPathNavigator, не разрешает добавить перед собой новый дочерний узел.

Объект XPathNavigator не поддерживает редактирование.

Неправильный формат параметра строки XML.

Примеры

В следующем примере новый pages дочерний элемент добавляется в начало списка дочерних элементов первого book элемента в contosoBooks.xml файле.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

navigator->PrependChild("<pages>100</pages>");

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

navigator.PrependChild("<pages>100</pages>");

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

navigator.PrependChild("<pages>100</pages>")

Console.WriteLine(navigator.OuterXml)

В примере в качестве входных данных используется файл contosoBooks.xml.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Комментарии

Добавление нового узла в начало списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, то добавляемый узел становится первым дочерним узлом. Если дочерние узлы не существуют, создается новый дочерний узел.

Чтобы создать новый узел элемента, включите весь синтаксис XML в параметр строки XML. Строка для нового book узла : PrependChild("<book/>"). Строка для добавления текстовой книги к текстовому узлу текущего узла PrependChild("book"). Если XML-строка содержит несколько узлов, добавляются все узлы.

Ниже приведены важные примечания, которые следует учитывать при использовании PrependChild метода.

  • Метод PrependChild действителен только в том случае, если XPathNavigator он расположен на узле элемента.

  • Метод PrependChild не влияет на положение объекта XPathNavigator.

Применяется к

PrependChild(XmlReader)

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя XML-содержимое указанного объекта XmlReader.

public:
 virtual void PrependChild(System::Xml::XmlReader ^ newChild);
public virtual void PrependChild (System.Xml.XmlReader newChild);
abstract member PrependChild : System.Xml.XmlReader -> unit
override this.PrependChild : System.Xml.XmlReader -> unit
Public Overridable Sub PrependChild (newChild As XmlReader)

Параметры

newChild
XmlReader

Объект XmlReader, расположенный в XML-данных для нового дочернего узла.

Исключения

Объект XmlReader находится в состоянии ошибки или закрыт.

Объект XmlReader имеет параметр null.

Текущий узел, в котором расположен объект XPathNavigator, не разрешает добавить перед собой новый дочерний узел.

Объект XPathNavigator не поддерживает редактирование.

XML-содержимое параметра объекта XmlReader сформировано некорректно.

Примеры

В следующем примере новый pages дочерний элемент добавляется к началу списка дочерних элементов первого book элемента в contosoBooks.xml файле с использованием указанного XmlReader объекта. Пространство http://www.contoso.com/books имен указывается таким образом, чтобы новый дочерний элемент был добавлен с использованием того же пространства имен, что и XML-документ.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->PrependChild(pages);

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.PrependChild(pages);

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.PrependChild(pages)

Console.WriteLine(navigator.OuterXml)

В примере в качестве входных данных используется файл contosoBooks.xml.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Комментарии

Добавление нового узла в начало списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, то добавляемый узел становится первым дочерним узлом. Если дочерние узлы не существуют, создается новый дочерний узел.

Ниже приведены важные примечания, которые следует учитывать при использовании PrependChild метода.

  • XmlReader Если объект размещается по последовательности узлов XML, добавляются все узлы в последовательности.

  • Метод PrependChild действителен только в том случае, если XPathNavigator он расположен на узле элемента.

  • Метод PrependChild не влияет на положение объекта XPathNavigator.

Применяется к

PrependChild(XPathNavigator)

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя узлы из указанного объекта XPathNavigator.

public:
 virtual void PrependChild(System::Xml::XPath::XPathNavigator ^ newChild);
public virtual void PrependChild (System.Xml.XPath.XPathNavigator newChild);
abstract member PrependChild : System.Xml.XPath.XPathNavigator -> unit
override this.PrependChild : System.Xml.XPath.XPathNavigator -> unit
Public Overridable Sub PrependChild (newChild As XPathNavigator)

Параметры

newChild
XPathNavigator

Объект XPathNavigator, расположенный в узле, который следует добавить как новый дочерний узел.

Исключения

Объект XPathNavigator имеет параметр null.

Текущий узел, в котором расположен объект XPathNavigator, не разрешает добавить перед собой новый дочерний узел.

Объект XPathNavigator не поддерживает редактирование.

Примеры

В следующем примере новый pages дочерний элемент добавляется в начало списка дочерних элементов первого book элемента в contosoBooks.xml файле с помощью узла, содержащегося в указанном объекте XPathNavigator . Пространство http://www.contoso.com/books имен указывается таким образом, чтобы новый дочерний элемент был добавлен с использованием того же пространства имен, что и XML-документ.

XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();

navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();

navigator->PrependChild(childNodesNavigator);

Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

navigator.PrependChild(childNodesNavigator);

Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")

Dim childNodes As XmlDocument = New XmlDocument()
childNodes.Load(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))
Dim childNodesNavigator As XPathNavigator = childNodes.CreateNavigator()

navigator.PrependChild(childNodesNavigator)

Console.WriteLine(navigator.OuterXml)

В примере в качестве входных данных используется файл contosoBooks.xml.

<?xml version="1.0" encoding="utf-8" ?>  
<bookstore xmlns="http://www.contoso.com/books">  
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">  
        <title>The Autobiography of Benjamin Franklin</title>  
        <author>  
            <first-name>Benjamin</first-name>  
            <last-name>Franklin</last-name>  
        </author>  
        <price>8.99</price>  
    </book>  
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">  
        <title>The Confidence Man</title>  
        <author>  
            <first-name>Herman</first-name>  
            <last-name>Melville</last-name>  
        </author>  
        <price>11.99</price>  
    </book>  
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">  
        <title>The Gorgias</title>  
        <author>  
            <name>Plato</name>  
        </author>  
        <price>9.99</price>  
    </book>  
</bookstore>  

Комментарии

Добавление нового узла в начало списка дочерних узлов для текущего узла. Например, если для элемента существуют три дочерних узла, то добавляемый узел становится первым дочерним узлом. Если дочерние узлы не существуют, создается новый дочерний узел.

Ниже приведены важные примечания, которые следует учитывать при использовании PrependChild метода.

  • XPathNavigator Если объект размещается по последовательности узлов XML, добавляются все узлы в последовательности.

  • Метод PrependChild действителен только в том случае, если XPathNavigator он расположен на узле элемента.

  • Метод PrependChild не влияет на положение объекта XPathNavigator.

Применяется к