XPathNavigator.AppendChild メソッド

定義

現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

オーバーロード

AppendChild()

現在のノード下に存在する子ノードのリストの末尾に 1 つまたは複数の新しい子ノードを作成するために使用する XmlWriter オブジェクトを返します。

AppendChild(String)

指定された XML データ文字列を使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

AppendChild(XmlReader)

指定された XmlReader オブジェクトの XML コンテンツを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

AppendChild(XPathNavigator)

指定された XPathNavigator のノードを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

AppendChild()

現在のノード下に存在する子ノードのリストの末尾に 1 つまたは複数の新しい子ノードを作成するために使用する XmlWriter オブジェクトを返します。

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

現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成するために使用する XmlWriter オブジェクト。

例外

XPathNavigator が配置されている現在のノードは、ルート ノードでも要素ノードでもありません。

XPathNavigator では、編集はサポートされていません。

次の例では、メソッドから返されたオブジェクトを使用してXmlWriter、ファイル内の最初bookの要素の子要素の一覧にcontosoBooks.xml新しいpages子要素がAppendChild追加されます。

    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 ファイルを入力として使用します。

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

注釈

子ノードを追加すると、現在のノードの子ノードの一覧の末尾に新しいノードが追加されます。 たとえば、1 つの要素に対して 3 つの子ノードが存在する場合、最初に追加されたノードが 4 番目の子ノードになります。 子ノードが存在しない場合は、新しい子ノードが作成されます。

メソッドを使用する場合に考慮すべき重要な注意事項を次に AppendChild 示します。

  • オブジェクトのメソッドXmlWriterが呼び出されるまで、Close新しい子ノードは挿入されません。

  • この AppendChild メソッドは、ルート ノードまたは要素ノードに配置されている場合 XPathNavigator にのみ有効です。

  • このメソッドは AppendChildXPathNavigator.

ライターには複数のノードを書き込むことができます。 すべてのノードは、現在のノードの子ノードの一覧の末尾に追加されます。

適用対象

AppendChild(String)

指定された XML データ文字列を使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

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

新しい子ノード用の 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->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 ファイルを入力として使用します。

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

注釈

子ノードを追加すると、現在のノードの子ノードの一覧の末尾に新しいノードが追加されます。 たとえば、要素に対して 3 つの子ノードが存在する場合、追加されたノードは 4 番目の子ノードになります。 子ノードが存在しない場合は、新しい子ノードが作成されます。

新しい要素ノードを作成するには、XML 文字列パラメーターにすべての XML 構文を含めます。 新しい book ノードの文字列は AppendChild("<book/>"). 現在のノードのテキスト ノードにテキスト "book" を追加するための文字列は次のようになります AppendChild("book")。 XML 文字列に複数のノードが含まれている場合は、すべてのノードが追加されます。

メソッドを使用する場合に考慮すべき重要な注意事項を次に AppendChild 示します。

適用対象

AppendChild(XmlReader)

指定された XmlReader オブジェクトの XML コンテンツを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

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

新しい子ノード用の XML データに配置された XmlReader オブジェクト。

例外

XmlReader オブジェクトがエラー状態か、または閉じています。

XmlReader オブジェクトのパラメーターは null です。

XPathNavigator が配置されている現在のノードは、ルート ノードでも要素ノードでもありません。

XPathNavigator では、編集はサポートされていません。

XmlReader オブジェクト パラメーターの XML コンテンツは整形式ではありません。

次の例では、指定されたオブジェクトを使用して、ファイル内の最初bookの要素の子要素の一覧にcontosoBooks.xml新しいpages子要素が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->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 ファイルを入力として使用します。

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

注釈

子ノードを追加すると、現在のノードの子ノードの一覧の末尾に新しいノードが追加されます。 たとえば、要素に対して 3 つの子ノードが存在する場合、追加されたノードは 4 番目の子ノードになります。 子ノードが存在しない場合は、新しい子ノードが作成されます。

メソッドを使用する場合に考慮すべき重要な注意事項を次に AppendChild 示します。

  • オブジェクトが XmlReader 一連の XML ノード上に配置されている場合は、シーケンス内のすべてのノードが追加されます。

  • この AppendChild メソッドは、ルート ノードまたは要素ノードに配置されている場合 XPathNavigator にのみ有効です。

  • このメソッドは AppendChildXPathNavigator.

適用対象

AppendChild(XPathNavigator)

指定された XPathNavigator のノードを使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子ノードを作成します。

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 オブジェクトのパラメーターは null です。

XPathNavigator が配置されている現在のノードは、ルート ノードでも要素ノードでもありません。

XPathNavigator では、編集はサポートされていません。

次の例では、指定されたノードを使用して、ファイル内の最初bookの要素の子要素の一覧にcontosoBooks.xml新しいpages子要素が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();


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 ファイルを入力として使用します。

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

注釈

子ノードを追加すると、現在のノードの子ノードの一覧の末尾に新しいノードが追加されます。 たとえば、要素に対して 3 つの子ノードが存在する場合、追加されたノードは 4 番目の子ノードになります。 子ノードが存在しない場合は、新しい子ノードが作成されます。

メソッドを使用する場合に考慮すべき重要な注意事項を次に AppendChild 示します。

  • オブジェクトが XPathNavigator 一連の XML ノード上に配置されている場合は、シーケンス内のすべてのノードが追加されます。

  • この AppendChild メソッドは、ルート ノードまたは要素ノードに配置されている場合 XPathNavigator にのみ有効です。

  • このメソッドは AppendChildXPathNavigator.

適用対象