XPathNavigator.AppendChild XPathNavigator.AppendChild XPathNavigator.AppendChild XPathNavigator.AppendChild Method

定義

現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node.

オーバーロード

AppendChild() AppendChild() AppendChild() AppendChild()

現在のノード下に存在する子ノードのリストの末尾に 1 つまたは複数の新しい子ノードを作成するために使用する XmlWriter オブジェクトを返します。Returns an XmlWriter object used to create one or more new child nodes at the end of the list of child nodes of the current node.

AppendChild(String) AppendChild(String) AppendChild(String) AppendChild(String)

指定された XML データ文字列を使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified.

AppendChild(XmlReader) AppendChild(XmlReader) AppendChild(XmlReader) AppendChild(XmlReader)

指定された XmlReader オブジェクトの XML コンテンツを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node using the XML contents of the XmlReader object specified.

AppendChild(XPathNavigator) AppendChild(XPathNavigator) AppendChild(XPathNavigator) AppendChild(XPathNavigator)

指定された XPathNavigator のノードを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node using the nodes in the XPathNavigator specified.

AppendChild() AppendChild() AppendChild() AppendChild()

現在のノード下に存在する子ノードのリストの末尾に 1 つまたは複数の新しい子ノードを作成するために使用する XmlWriter オブジェクトを返します。Returns an XmlWriter object used to create one or more new child nodes at the end of the list of child nodes of the current node.

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

戻り値

現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成するために使用する XmlWriter オブジェクト。An XmlWriter object used to create new child nodes at the end of the list of child nodes of the current node.

例外

XPathNavigator が配置されている現在のノードが、ルート ノードでも要素ノードでもありません。The current node the XPathNavigator is positioned on is not the root node or an element node.

XPathNavigator は編集をサポートしていません。The XPathNavigator does not support editing.

次の例では、 pages contosoBooks.xml book メソッドAppendChildから返されたXmlWriterオブジェクトを使用して、ファイル内の最初の要素の子要素のリストに新しい子要素が追加されます。In the following example, a new pages child element is appended to the list of child elements of the first book element in the contosoBooks.xml file using the XmlWriter object returned from the AppendChild method.

    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->AppendChild();
    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.AppendChild();
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.AppendChild()
pages.WriteElementString("pages", "100")
pages.Close()

Console.WriteLine(navigator.OuterXml)

この例は、contosoBooks.xml ファイルを入力として使用します。The example takes the contosoBooks.xml file as an input.

  
<?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>  
  

注釈

子ノードを追加すると、現在のノードの子ノードのリストの末尾に新しいノードが追加されます。Appending child nodes adds the new nodes to the end of the list of child nodes for the current node. たとえば、1つの要素に対して3つの子ノードが存在する場合、最初に追加されたノードが4番目の子ノードになります。For example, when three child nodes exist for an element, the first appended node becomes the fourth child node. 子ノードが存在しない場合は、新しい子ノードが作成されます。If no child nodes exist, then a new child node is created.

ここでは、 AppendChildメソッドを使用する際に考慮する必要がある重要な注意事項について説明します。The following are important notes to consider when using the AppendChild method.

複数のノードをライターに書き込むことができます。You can write more than one node to the writer. すべてのノードは、現在のノードの子ノードのリストの末尾に追加されます。All nodes are appended to the end of the list of child nodes of the current node.

AppendChild(String) AppendChild(String) AppendChild(String) AppendChild(String)

指定された XML データ文字列を使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified.

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

パラメーター

newChild
String String String String

新しい子ノード用の XML データ文字列。The XML data string for the new child node.

例外

XML データ文字列パラメーターが null です。The XML data string parameter is null.

XPathNavigator が配置されている現在のノードが、ルート ノードでも要素ノードでもありません。The current node the XPathNavigator is positioned on is not the root node or an element node.

XPathNavigator は編集をサポートしていません。The XPathNavigator does not support editing.

XML データ文字列パラメーターは、整形式ではありません。The XML data string parameter is not well-formed.

次の例では、新しい pages 子要素が book ファイル内の最初の contosoBooks.xml 要素の一連の子要素に追加されます。In the following example, a new pages child element is appended to the list of child elements of the first book element in the contosoBooks.xml file.

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->AppendChild("<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.AppendChild("<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.AppendChild("<pages>100</pages>")

Console.WriteLine(navigator.OuterXml)

この例は、contosoBooks.xml ファイルを入力として使用します。The example takes the contosoBooks.xml file as an input.

  
<?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>  
  

注釈

子ノードを追加すると、現在のノードの子ノードのリストの末尾に新しいノードが追加されます。Appending a child node adds the new node to the end of the list of child nodes for the current node. たとえば、要素に対して3つの子ノードが存在する場合、追加されたノードは4番目の子ノードになります。For example, when three child nodes exist for an element, the appended node becomes the fourth child node. 子ノードが存在しない場合は、新しい子ノードが作成されます。If no child nodes exist, then a new child node is created.

新しい要素ノードを作成するには、XML 文字列パラメーターにすべての XML 構文を含めます。To create a new element node, include all XML syntax in the XML string parameter. 新しいbookノードの文字列はAppendChild("<book/>")です。The string for a new book node is AppendChild("<book/>"). テキスト "book" を現在のノードのテキストノードに追加するための文字列AppendChild("book")はです。The string for appending the text "book" to the current node's text node is AppendChild("book"). XML 文字列に複数のノードが含まれている場合は、すべてのノードが追加されます。If the XML string contains multiple nodes, all nodes are added.

ここでは、 AppendChildメソッドを使用する際に考慮する必要がある重要な注意事項について説明します。The following are important notes to consider when using the AppendChild method.

AppendChild(XmlReader) AppendChild(XmlReader) AppendChild(XmlReader) AppendChild(XmlReader)

指定された XmlReader オブジェクトの XML コンテンツを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node using the XML contents of the XmlReader object specified.

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

パラメーター

newChild
XmlReader XmlReader XmlReader XmlReader

新しい子ノード用の XML データに配置された XmlReader オブジェクト。An XmlReader object positioned on the XML data for the new child node.

例外

XmlReader オブジェクトがエラー状態か、または閉じています。The XmlReader object is in an error state or closed.

XmlReader オブジェクトのパラメーターが null です。The XmlReader object parameter is null.

XPathNavigator が配置されている現在のノードが、ルート ノードでも要素ノードでもありません。The current node the XPathNavigator is positioned on is not the root node or an element node.

XPathNavigator は編集をサポートしていません。The XPathNavigator does not support editing.

XmlReader オブジェクト パラメーターの XML コンテンツは整形式ではありません。The XML contents of the XmlReader object parameter is not well-formed.

次の例では、指定pagesされたXmlReaderオブジェクトを使用して、 contosoBooks.xmlファイル内の最初bookの要素の子要素のリストに新しい子要素が追加されます。In the following example, a new pages child element is appended to the list of child elements of the first book element in the contosoBooks.xml file using the XmlReader object specified. 名前http://www.contoso.com/books空間は、新しい子要素が XML ドキュメントと同じ名前空間を使用して追加されるように指定されています。The http://www.contoso.com/books namespace is specified so that the new child element is appended using the same namespace as the XML document.

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->AppendChild(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.AppendChild(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.AppendChild(pages)

Console.WriteLine(navigator.OuterXml)

この例は、contosoBooks.xml ファイルを入力として使用します。The example takes the contosoBooks.xml file as an input.

  
<?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>  
  

注釈

子ノードを追加すると、現在のノードの子ノードのリストの末尾に新しいノードが追加されます。Appending a child node adds the new node to the end of the list of child nodes for the current node. たとえば、要素に対して3つの子ノードが存在する場合、追加されたノードは4番目の子ノードになります。For example, when three child nodes exist for an element, the appended node becomes the fourth child node. 子ノードが存在しない場合は、新しい子ノードが作成されます。If no child nodes exist, then a new child node is created.

ここでは、 AppendChildメソッドを使用する際に考慮する必要がある重要な注意事項について説明します。The following are important notes to consider when using the AppendChild method.

  • XmlReaderオブジェクトが一連の XML ノードの上に配置されている場合は、シーケンス内のすべてのノードが追加されます。If the XmlReader object is positioned over a sequence of XML nodes, all the nodes in the sequence are added.

  • メソッドは、 XPathNavigatorがルートノードまたは要素ノードに配置されている場合にのみ有効です。 AppendChildThe AppendChild method is valid only when the XPathNavigator is positioned on the root node or an element node.

  • メソッドは、 XPathNavigatorの位置には影響しません。 AppendChildThe AppendChild method does not affect the position of the XPathNavigator.

AppendChild(XPathNavigator) AppendChild(XPathNavigator) AppendChild(XPathNavigator) AppendChild(XPathNavigator)

指定された XPathNavigator のノードを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。Creates a new child node at the end of the list of child nodes of the current node using the nodes in the XPathNavigator specified.

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

パラメーター

newChild
XPathNavigator XPathNavigator XPathNavigator XPathNavigator

新しい子ノードとして追加するノードに配置される XPathNavigator オブジェクト。An XPathNavigator object positioned on the node to add as the new child node.

例外

XPathNavigator オブジェクトのパラメーターが null です。The XPathNavigator object parameter is null.

XPathNavigator が配置されている現在のノードが、ルート ノードでも要素ノードでもありません。The current node the XPathNavigator is positioned on is not the root node or an element node.

XPathNavigator は編集をサポートしていません。The XPathNavigator does not support editing.

次の例でpagesは、 XPathNavigator指定したに格納されているノードを使用してbookcontosoBooks.xmlファイル内の最初の要素の子要素のリストに新しい子要素が追加されます。In the following example, a new pages child element is appended to the list of child elements of the first book element in the contosoBooks.xml file using the node contained in the XPathNavigator specified. 名前http://www.contoso.com/books空間は、新しい子要素が XML ドキュメントと同じ名前空間を使用して追加されるように指定されています。The http://www.contoso.com/books namespace is specified so that the new child element is appended using the same namespace as the XML document.

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();


if (childNodesNavigator->MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator->AppendChild(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();


if(childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books")) 
{
    navigator.AppendChild(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()

If childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books") Then
    navigator.AppendChild(childNodesNavigator)
End If

Console.WriteLine(navigator.OuterXml)

この例は、contosoBooks.xml ファイルを入力として使用します。The example takes the contosoBooks.xml file as an input.

  
<?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>  
  

注釈

子ノードを追加すると、現在のノードの子ノードのリストの末尾に新しいノードが追加されます。Appending a child node adds the new node to the end of the list of child nodes for the current node. たとえば、要素に対して3つの子ノードが存在する場合、追加されたノードは4番目の子ノードになります。For example, when three child nodes exist for an element, the appended node becomes the fourth child node. 子ノードが存在しない場合は、新しい子ノードが作成されます。If no child nodes exist, then a new child node is created.

ここでは、 AppendChildメソッドを使用する際に考慮する必要がある重要な注意事項について説明します。The following are important notes to consider when using the AppendChild method.

  • XPathNavigatorオブジェクトが一連の XML ノードの上に配置されている場合は、シーケンス内のすべてのノードが追加されます。If the XPathNavigator object is positioned over a sequence of XML nodes, all the nodes in the sequence are added.

  • メソッドは、 XPathNavigatorがルートノードまたは要素ノードに配置されている場合にのみ有効です。 AppendChildThe AppendChild method is valid only when the XPathNavigator is positioned on the root node or an element node.

  • メソッドは、 XPathNavigatorの位置には影響しません。 AppendChildThe AppendChild method does not affect the position of the XPathNavigator.

適用対象