XPathNavigator.AppendChildElement(String, String, String, String) メソッド

定義

指定された値と共に指定した名前空間プレフィックス、ローカル名、および名前空間 URI を使用して、現在のノード下に存在する子ノードのリストの末尾に新しい子要素ノードを作成します。

public:
 virtual void AppendChildElement(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void AppendChildElement (string prefix, string localName, string namespaceURI, string value);
public virtual void AppendChildElement (string? prefix, string localName, string? namespaceURI, string? value);
abstract member AppendChildElement : string * string * string * string -> unit
override this.AppendChildElement : string * string * string * string -> unit
Public Overridable Sub AppendChildElement (prefix As String, localName As String, namespaceURI As String, value As String)

パラメーター

prefix
String

新しい子要素ノードの名前空間プレフィックス (存在する場合)。

localName
String

新しい子要素ノードのローカル名 (存在する場合)。

namespaceURI
String

新しい子要素の名前空間 URI (存在する場合)。 Emptynull は等価です。

value
String

新しい子要素ノードの値。 Empty または null を渡すと、空の要素が作成されます。

例外

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

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

次の例では、新しい 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->AppendChildElement(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");

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.AppendChildElement(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");

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.AppendChildElement(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")

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 番目の子ノードになります。 子ノードが存在しない場合は、新しい子ノードが作成されます。

名前空間プレフィックスと URI 値は、 メソッドまたは LookupNamespace メソッドをLookupPrefix使用して取得できます。 たとえば、次の構文では、スコープ内名前空間 xmlns:bk=http://www.contoso.com/booksを使用して子要素を追加します。

navigator.AppendChildElement(navigator.Prefix, "pages", LookupNamespaceURI(navigator.Prefix), String.Empty)  

これにより、新しい子 <bk:pages/> 要素が作成されます。

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

  • 指定された名前空間プレフィックスが または String.Emptyの場合、null新しい要素の名前空間 URI のプレフィックスは、スコープ内の現在の名前空間から取得されます。 現在のスコープで指定された名前空間 URI に名前空間プレフィックスが割り当てられていない場合は、名前空間プレフィックスが自動的に生成されます。

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

  • メソッドは AppendChildElement の位置 XPathNavigatorには影響しません。

適用対象