XPathNavigator.ReplaceSelf メソッド

定義

現在のノードを指定された内容に置き換えます。Replaces the current node with the content specified.

オーバーロード

ReplaceSelf(XmlReader)

現在のノードを指定された XmlReader オブジェクトの内容に置き換えます。Replaces the current node with the contents of the XmlReader object specified.

ReplaceSelf(XPathNavigator)

現在のノードを指定された XPathNavigator オブジェクトの内容に置き換えます。Replaces the current node with the contents of the XPathNavigator object specified.

ReplaceSelf(String)

現在のノードを指定された文字列の内容に置き換えます。Replaces the current node with the content of the string specified.

ReplaceSelf(XmlReader)

現在のノードを指定された XmlReader オブジェクトの内容に置き換えます。Replaces the current node with the contents of the XmlReader object specified.

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

パラメーター

newNode
XmlReader

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

例外

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

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

XPathNavigator が、要素、テキスト、処理命令、またはコメント ノードに配置されていません。The XPathNavigator is not positioned on an element, text, processing instruction, or comment node.

XPathNavigator では、編集はサポートされていません。The XPathNavigator does not support editing.

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

次の例では、contosoBooks.xml ファイル内の price 要素が新しい pages 要素に置き換えられています。In the following example the price element in the contosoBooks.xml file is replaced by a new pages element.

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

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->ReplaceSelf(pages);

Console::WriteLine("Position after delete: {0}", navigator->Name);
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");

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.ReplaceSelf(pages);

Console.WriteLine("Position after delete: {0}", navigator.Name);
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")

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.ReplaceSelf(pages)

Console.WriteLine("Position after delete: {0}", navigator.Name)
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>  
  

注釈

XPathNavigator は、ReplaceSelf メソッドの完了時に新しいノードに配置され trueを返します。The XPathNavigator is positioned on the new node on completion of the ReplaceSelf method and returns true. XML 入力が Empty 場合、ReplaceSelf メソッドが完了した後、XPathNavigator は新しいノードに配置されません。この場合、置換後のノードに次の兄弟ノードがなく、ReplaceSelffalseを返す場合、XPathNavigator は次の兄弟ノードまたは親ノードに配置されます。The XPathNavigator is not positioned on the new node after completion of the ReplaceSelf method when the XML input is Empty in which case the XPathNavigator is either positioned on the next sibling node or the parent node if there is no next sibling node to the replaced node and the ReplaceSelf returns false.

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

  • XML データ文字列が整形式でない場合は、例外がスローされ、このメソッドの結果は、現在のノードで DeleteSelf を呼び出すことと同じになります。If the XML data string is not well-formed than an exception is thrown and the result of this method is equivalent to calling DeleteSelf on the current node.

  • XML 文字列に複数のノードが含まれている場合は、すべてのノードが追加され、XPathNavigator が一連のノードの最初のノードに配置されます。If the XML string contains multiple nodes, all nodes are added and the XPathNavigator is positioned on the first node in the series of nodes.

  • ReplaceSelf メソッドは、DeleteSelf メソッドと同じではありません。The ReplaceSelf method is not equivalent to the DeleteSelf method.

ReplaceSelf(XPathNavigator)

現在のノードを指定された XPathNavigator オブジェクトの内容に置き換えます。Replaces the current node with the contents of the XPathNavigator object specified.

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

パラメーター

newNode
XPathNavigator

新しいノードに配置された XPathNavigator オブジェクト。An XPathNavigator object positioned on the new node.

例外

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

XPathNavigator が、要素、テキスト、処理命令、またはコメント ノードに配置されていません。The XPathNavigator is not positioned on an element, text, processing instruction, or comment node.

XPathNavigator では、編集はサポートされていません。The XPathNavigator does not support editing.

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

次の例では、contosoBooks.xml ファイル内の price 要素が新しい pages 要素に置き換えられています。In the following example the price element in the contosoBooks.xml file is replaced by a new pages element.

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

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();

navigator->ReplaceSelf(childNodesNavigator);

Console::WriteLine("Position after delete: {0}", navigator->Name);
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");

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();

navigator.ReplaceSelf(childNodesNavigator);

Console.WriteLine("Position after delete: {0}", navigator.Name);
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")

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.ReplaceSelf(childNodesNavigator)

Console.WriteLine("Position after delete: {0}", navigator.Name)
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>  
  

注釈

XPathNavigator は、ReplaceSelf メソッドの完了時に新しいノードに配置され trueを返します。The XPathNavigator is positioned on the new node on completion of the ReplaceSelf method and returns true. XML 入力が Empty 場合、ReplaceSelf メソッドが完了した後、XPathNavigator は新しいノードに配置されません。この場合、置換後のノードに次の兄弟ノードがなく、ReplaceSelffalseを返す場合、XPathNavigator は次の兄弟ノードまたは親ノードに配置されます。The XPathNavigator is not positioned on the new node after completion of the ReplaceSelf method when the XML input is Empty in which case the XPathNavigator is either positioned on the next sibling node or the parent node if there is no next sibling node to the replaced node and the ReplaceSelf returns false.

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

  • XML データ文字列が整形式でない場合は、例外がスローされ、このメソッドの結果は、現在のノードで DeleteSelf を呼び出すことと同じになります。If the XML data string is not well-formed than an exception is thrown and the result of this method is equivalent to calling DeleteSelf on the current node.

  • XML 文字列に複数のノードが含まれている場合は、すべてのノードが追加され、XPathNavigator が一連のノードの最初のノードに配置されます。If the XML string contains multiple nodes, all nodes are added and the XPathNavigator is positioned on the first node in the series of nodes.

  • ReplaceSelf メソッドは、DeleteSelf メソッドと同じではありません。The ReplaceSelf method is not equivalent to the DeleteSelf method.

ReplaceSelf(String)

現在のノードを指定された文字列の内容に置き換えます。Replaces the current node with the content of the string specified.

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

パラメーター

newNode
String

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

例外

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

XPathNavigator は、要素、テキスト、処理命令、またはコメント ノードには配置されません。The XPathNavigator is not positioned on an element, text, processing instruction, or comment node.

XPathNavigator では、編集はサポートされていません。The XPathNavigator does not support editing.

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

次の例では、contosoBooks.xml ファイル内の price 要素が新しい pages 要素に置き換えられています。In the following example the price element in the contosoBooks.xml file is replaced by a new pages element.

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->ReplaceSelf("<pages>100</pages>");

Console::WriteLine("Position after delete: {0}", navigator->Name);
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.ReplaceSelf("<pages>100</pages>");

Console.WriteLine("Position after delete: {0}", navigator.Name);
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.ReplaceSelf("<pages>100</pages>")

Console.WriteLine("Position after delete: {0}", navigator.Name)
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>  
  

注釈

XPathNavigator は、ReplaceSelf メソッドの完了時に新しいノードに配置され trueを返します。The XPathNavigator is positioned on the new node on completion of the ReplaceSelf method and returns true. XML 入力が Empty 場合、ReplaceSelf メソッドが完了した後、XPathNavigator は新しいノードに配置されません。この場合、置換後のノードに次の兄弟ノードがなく、ReplaceSelffalseを返す場合、XPathNavigator は次の兄弟ノードまたは親ノードに配置されます。The XPathNavigator is not positioned on the new node after completion of the ReplaceSelf method when the XML input is Empty in which case the XPathNavigator is either positioned on the next sibling node or the parent node if there is no next sibling node to the replaced node and the ReplaceSelf returns false.

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

  • XML データ文字列が整形式でない場合は、例外がスローされ、このメソッドの結果は、現在のノードで DeleteSelf を呼び出すことと同じになります。If the XML data string is not well-formed than an exception is thrown and the result of this method is equivalent to calling DeleteSelf on the current node.

  • XML 文字列に複数のノードが含まれている場合は、すべてのノードが追加され、XPathNavigator が一連のノードの最初のノードに配置されます。If the XML string contains multiple nodes, all nodes are added and the XPathNavigator is positioned on the first node in the series of nodes.

  • ReplaceSelf メソッドは、DeleteSelf メソッドと同じではありません。The ReplaceSelf method is not equivalent to the DeleteSelf method.

適用対象