XPathNavigator.PrependChild Метод

Определение

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

Перегрузки

Имя Описание
PrependChild()

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

PrependChild(String)

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

PrependChild(XmlReader)

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

PrependChild(XPathNavigator)

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

PrependChild()

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Возвращает объект, используемый 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 , используемый для создания нового дочернего узла в начале списка дочерних узлов текущего узла.

Исключения

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

Не поддерживает редактирование XPathNavigator .

Примеры

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

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)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Создает новый дочерний узел в начале списка дочерних узлов текущего узла с помощью указанной 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 = 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)

Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Создает новый дочерний узел в начале списка дочерних узлов текущего узла с использованием 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 = 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.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs
Исходный код:
XPathNavigator.cs

Создает новый дочерний узел в начале списка дочерних узлов текущего узла, используя узлы в указанном объекте 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 = 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объекта.

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