XPathNavigator.ReplaceSelf メソッド

定義

現在のノードを指定されたコンテンツに置き換えます。

オーバーロード

名前 説明
ReplaceSelf(XmlReader)

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

ReplaceSelf(XPathNavigator)

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

ReplaceSelf(String)

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

ReplaceSelf(XmlReader)

ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs
ソース:
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 = 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 メソッドの完了時に新しいノードに配置され、trueを返します。 XML 入力がXPathNavigatorされている場合、ReplaceSelfは、Empty メソッドの完了後に新しいノードに配置されません。この場合、XPathNavigatorは次の兄弟ノードに配置されるか、置き換えられたノードに次の兄弟ノードがなく、ReplaceSelffalseを返す場合は親ノードに配置されます。

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

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

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

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

適用対象

ReplaceSelf(XPathNavigator)

ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs
ソース:
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 = 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 メソッドの完了時に新しいノードに配置され、trueを返します。 XML 入力がXPathNavigatorされている場合、ReplaceSelfは、Empty メソッドの完了後に新しいノードに配置されません。この場合、XPathNavigatorは次の兄弟ノードに配置されるか、置き換えられたノードに次の兄弟ノードがなく、ReplaceSelffalseを返す場合は親ノードに配置されます。

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

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

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

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

適用対象

ReplaceSelf(String)

ソース:
XPathNavigator.cs
ソース:
XPathNavigator.cs
ソース:
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 = 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 メソッドの完了時に新しいノードに配置され、trueを返します。 XML 入力がXPathNavigatorされている場合、ReplaceSelfは、Empty メソッドの完了後に新しいノードに配置されません。この場合、XPathNavigatorは次の兄弟ノードに配置されるか、置き換えられたノードに次の兄弟ノードがなく、ReplaceSelffalseを返す場合は親ノードに配置されます。

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

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

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

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

適用対象