XPathNavigator.ReplaceSelf 메서드

정의

현재 노드를 지정된 콘텐츠로 바꿉니다.

오버로드

Name Description
ReplaceSelf(XmlReader)

현재 노드를 지정된 개체의 XmlReader 내용으로 바꿉니다.

ReplaceSelf(XPathNavigator)

현재 노드를 지정된 개체의 XPathNavigator 내용으로 바꿉니다.

ReplaceSelf(String)

현재 노드를 지정된 문자열의 내용으로 바꿉니다.

ReplaceSelf(XmlReader)

Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
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

XmlReader 새 노드의 XML 데이터에 배치된 개체입니다.

예외

XmlReader 개체가 오류 상태이거나 닫혀 있습니다.

개체 매개 변수는 XmlReader .입니다 null.

XPathNavigator 요소, 텍스트, 처리 명령 또는 주석 노드에 위치하지 않습니다.

편집을 XPathNavigator 지원하지 않습니다.

개체 매개 변수의 XML 내용이 XmlReader 잘 구성되지 않았습니다.

예제

다음 예제에서는 파일의 pricecontosoBooks.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. XPathNavigator XML 입력 ReplaceSelf 이 있는 경우 메서드가 완료 Empty 된 후 새 노드에 위치하지 않습니다. 이 경우 XPathNavigator 대체된 노드에 대한 다음 형제 노드가 없고 반환되는 경우 부모 노드 또는 다음 형제 노드에 ReplaceSelf 배치됩니다false.

  • ReplaceSelf 메서드는 요소, 텍스트, 처리 명령 또는 주석 노드에 배치된 경우에만 XPathNavigator 유효합니다.

  • XML 데이터 문자열이 예외가 throw되는 것보다 잘 구성되지 않은 경우 이 메서드의 결과는 현재 노드에서 호출 DeleteSelf 하는 것과 같습니다.

  • XML 문자열에 여러 노드가 포함된 경우 모든 노드가 추가되고 XPathNavigator 일련의 노드에서 첫 번째 노드에 배치됩니다.

  • 메서드가 ReplaceSelf 메서드와 DeleteSelf 동일하지 않습니다.

적용 대상

ReplaceSelf(XPathNavigator)

Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
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 지원하지 않습니다.

개체 매개 변수의 XML 내용이 XPathNavigator 잘 구성되지 않았습니다.

예제

다음 예제에서는 파일의 pricecontosoBooks.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. XPathNavigator XML 입력 ReplaceSelf 이 있는 경우 메서드가 완료 Empty 된 후 새 노드에 위치하지 않습니다. 이 경우 XPathNavigator 대체된 노드에 대한 다음 형제 노드가 없고 반환되는 경우 부모 노드 또는 다음 형제 노드에 ReplaceSelf 배치됩니다false.

  • ReplaceSelf 메서드는 요소, 텍스트, 처리 명령 또는 주석 노드에 배치된 경우에만 XPathNavigator 유효합니다.

  • XML 데이터 문자열이 예외가 throw되는 것보다 잘 구성되지 않은 경우 이 메서드의 결과는 현재 노드에서 호출 DeleteSelf 하는 것과 같습니다.

  • XML 문자열에 여러 노드가 포함된 경우 모든 노드가 추가되고 XPathNavigator 일련의 노드에서 첫 번째 노드에 배치됩니다.

  • 메서드가 ReplaceSelf 메서드와 DeleteSelf 동일하지 않습니다.

적용 대상

ReplaceSelf(String)

Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
XPathNavigator.cs
Source:
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 문자열 매개 변수의 형식이 잘못되었습니다.

예제

다음 예제에서는 파일의 pricecontosoBooks.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. XPathNavigator XML 입력 ReplaceSelf 이 있는 경우 메서드가 완료 Empty 된 후 새 노드에 위치하지 않습니다. 이 경우 XPathNavigator 대체된 노드에 대한 다음 형제 노드가 없고 반환되는 경우 부모 노드 또는 다음 형제 노드에 ReplaceSelf 배치됩니다false.

  • ReplaceSelf 메서드는 요소, 텍스트, 처리 명령 또는 주석 노드에 배치된 경우에만 XPathNavigator 유효합니다.

  • XML 데이터 문자열이 예외가 throw되는 것보다 잘 구성되지 않은 경우 이 메서드의 결과는 현재 노드에서 호출 DeleteSelf 하는 것과 같습니다.

  • XML 문자열에 여러 노드가 포함된 경우 모든 노드가 추가되고 XPathNavigator 일련의 노드에서 첫 번째 노드에 배치됩니다.

  • 메서드가 ReplaceSelf 메서드와 DeleteSelf 동일하지 않습니다.

적용 대상