XPathNavigator.InsertElementAfter(String, String, String, String) XPathNavigator.InsertElementAfter(String, String, String, String) XPathNavigator.InsertElementAfter(String, String, String, String) XPathNavigator.InsertElementAfter(String, String, String, String) Method

定義

指定された値と共に指定した名前空間プレフィックス、ローカル名、および名前空間 URI を使用して、現在のノードの後に新しい兄弟要素を作成します。Creates a new sibling element after the current node using the namespace prefix, local name and namespace URI specified, with the value specified.

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

パラメーター

prefix
String String String String

新しい子要素の名前空間プレフィックス (存在する場合)。The namespace prefix of the new child element (if any).

localName
String String String String

新しい子要素のローカル名 (存在する場合)。The local name of the new child element (if any).

namespaceURI
String String String String

新しい子要素の名前空間 URI (存在する場合)。The namespace URI of the new child element (if any). Emptynull は等価です。Empty and null are equivalent.

value
String String String String

新しい子要素の値。The value of the new child element. Empty または null を渡すと、空の要素が作成されます。If Empty or null are passed, an empty element is created.

例外

XPathNavigator の該当位置では、新しい兄弟ノードを現在のノードの後に挿入することはできません。The position of the XPathNavigator does not allow a new sibling node to be inserted after the current node.

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

次の例では、 pages contosoBooks.xmlファイル内の最初bookprice要素の子要素の後に新しい要素が挿入されます。In the following example a new pages element is inserted after the price child element 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->MoveToChild("price", "http://www.contoso.com/books");

navigator->InsertElementAfter(navigator->Prefix, "pages", navigator->LookupNamespace(navigator->Prefix), "100");

navigator->MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books");

navigator.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100");

navigator.MoveToParent();
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.MoveToChild("price", "http://www.contoso.com/books")

navigator.InsertElementAfter(navigator.Prefix, "pages", navigator.LookupNamespace(navigator.Prefix), "100")

navigator.MoveToParent()
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>  
  

注釈

名前空間プレフィックスと URI 値は、 LookupPrefixメソッドまたはLookupNamespaceメソッドを使用して取得できます。Namespace prefix and URI values can be obtained using the LookupPrefix or LookupNamespace method. たとえば、次の構文では、スコープ内の名前空間xmlns:bk="http://www.contoso.com/books"を使用して兄弟要素が挿入されます。For example, the following syntax inserts a sibling element by using the in-scope namespace xmlns:bk="http://www.contoso.com/books":

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

これにより、新しい<bk:pages/>兄弟要素が作成されます。This creates the new sibling <bk:pages/> element.

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

  • 指定された名前空間nullプレフィックスString.Emptyがまたはの場合、新しい要素の名前空間 URI のプレフィックスは、スコープ内の現在の名前空間から取得されます。If the namespace prefix specified is null or String.Empty, then the prefix for the namespace URI of the new element is obtained from the current namespaces in-scope. 現在のスコープで指定した名前空間 URI に名前空間プレフィックスが割り当てられていない場合は、名前空間プレフィックスが自動的に生成されます。If there is no namespace prefix assigned to the specified namespace URI at the current scope, then a namespace prefix is automatically generated.

  • メソッドは、 XPathNavigatorが要素、テキスト、処理命令、またはコメントノードに配置されている場合にのみ有効です。 InsertElementAfterThe InsertElementAfter method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

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

適用対象