次の方法で共有


XPathNavigator.ReplaceSelf メソッド

定義

現在のノードを指定された内容に置き換えます。

オーバーロード

ReplaceSelf(XmlReader)

現在のノードを指定された XmlReader オブジェクトの内容に置き換えます。

ReplaceSelf(XPathNavigator)

現在のノードを指定された XPathNavigator オブジェクトの内容に置き換えます。

ReplaceSelf(String)

現在のノードを指定された文字列の内容に置き換えます。

ReplaceSelf(XmlReader)

ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs

現在のノードを指定された XmlReader オブジェクトの内容に置き換えます。

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 オブジェクト。

例外

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

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

XPathNavigator が、要素、テキスト、処理命令、またはコメント ノードに配置されていません。

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

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

次の例では、 price ファイル内の contosoBooks.xml 要素が新 pages しい要素に置き換えられます。

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

<?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時に新しいノードに配置され、 を返しますtrueXPathNavigator XML 入力が の場合、 が次の兄弟ノードに配置されている場合XPathNavigatorEmptyまたは置き換えられたノードに次のReplaceSelf兄弟ノードが存在せず、 が を返falseす場合は、 がメソッドの完了後に新しいノードReplaceSelfに配置されません。

  • メソッドは ReplaceSelf 、 が要素、テキスト、処理命令、またはコメント ノードに配置されている場合 XPathNavigator にのみ有効です。

  • XML データ文字列が例外がスローされるよりも適切な形式でない場合、このメソッドの結果は現在のノードで を呼び出すこと DeleteSelf と同じです。

  • XML 文字列に複数のノードが含まれている場合、すべてのノードが追加され XPathNavigator 、 は一連のノードの最初のノードに配置されます。

  • メソッドは ReplaceSelf 、 メソッドと DeleteSelf 同じではありません。

適用対象

ReplaceSelf(XPathNavigator)

ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs

現在のノードを指定された XPathNavigator オブジェクトの内容に置き換えます。

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 オブジェクト。

例外

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

XPathNavigator が、要素、テキスト、処理命令、またはコメント ノードに配置されていません。

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

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

次の例では、 price ファイル内の contosoBooks.xml 要素が新 pages しい要素に置き換えられます。

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

<?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時に新しいノードに配置され、 を返しますtrueXPathNavigator XML 入力が の場合、 が次の兄弟ノードに配置されている場合XPathNavigatorEmptyまたは置き換えられたノードに次のReplaceSelf兄弟ノードが存在せず、 が を返falseす場合は、 がメソッドの完了後に新しいノードReplaceSelfに配置されません。

  • メソッドは ReplaceSelf 、 が要素、テキスト、処理命令、またはコメント ノードに配置されている場合 XPathNavigator にのみ有効です。

  • XML データ文字列が例外がスローされるよりも適切な形式でない場合、このメソッドの結果は現在のノードで を呼び出すこと DeleteSelf と同じです。

  • XML 文字列に複数のノードが含まれている場合、すべてのノードが追加され XPathNavigator 、 は一連のノードの最初のノードに配置されます。

  • メソッドは ReplaceSelf 、 メソッドと DeleteSelf 同じではありません。

適用対象

ReplaceSelf(String)

ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs

現在のノードを指定された文字列の内容に置き換えます。

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 データ文字列。

例外

XML 文字列パラメーターは null です。

XPathNavigator は、要素、テキスト、処理命令、またはコメント ノードには配置されません。

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

XML 文字列パラメーターは整形式ではありません。

次の例では、 price ファイル内の contosoBooks.xml 要素が新 pages しい要素に置き換えられます。

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

<?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時に新しいノードに配置され、 を返しますtrueXPathNavigator XML 入力が の場合、 が次の兄弟ノードに配置されている場合XPathNavigatorEmptyまたは置き換えられたノードに次のReplaceSelf兄弟ノードが存在せず、 が を返falseす場合は、 がメソッドの完了後に新しいノードReplaceSelfに配置されません。

  • メソッドは ReplaceSelf 、 が要素、テキスト、処理命令、またはコメント ノードに配置されている場合 XPathNavigator にのみ有効です。

  • XML データ文字列が例外がスローされるよりも適切な形式でない場合、このメソッドの結果は現在のノードで を呼び出すこと DeleteSelf と同じです。

  • XML 文字列に複数のノードが含まれている場合、すべてのノードが追加され XPathNavigator 、 は一連のノードの最初のノードに配置されます。

  • メソッドは ReplaceSelf 、 メソッドと DeleteSelf 同じではありません。

適用対象