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.

예제

다음 예제에서는 price 요소에는 contosoBooks.xml 파일이 새로운으로 대체 됩니다 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. XPathNavigator 완료 된 후 새 노드에 있지는 ReplaceSelf 메서드는 XML 입력 Empty 경우에 XPathNavigator 가 하나 또는 배치 되는 다음 형제 노드로 부모 노드를 다음 형제 노드가 없는 경우 대체 노드 및 ReplaceSelf 반환 false합니다.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 데이터 문자열 예외가 throw 되 고이 메서드의 결과 호출 하는 보다 잘 구성 하지 않으면 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.

예제

다음 예제에서는 price 요소에는 contosoBooks.xml 파일이 새로운으로 대체 됩니다 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. XPathNavigator 완료 된 후 새 노드에 있지는 ReplaceSelf 메서드는 XML 입력 Empty 경우에 XPathNavigator 가 하나 또는 배치 되는 다음 형제 노드로 부모 노드를 다음 형제 노드가 없는 경우 대체 노드 및 ReplaceSelf 반환 false합니다.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 데이터 문자열 예외가 throw 되 고이 메서드의 결과 호출 하는 보다 잘 구성 하지 않으면 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.

예제

다음 예제에서는 price 요소에는 contosoBooks.xml 파일이 새로운으로 대체 됩니다 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. XPathNavigator 완료 된 후 새 노드에 있지는 ReplaceSelf 메서드는 XML 입력 Empty 경우에 XPathNavigator 가 하나 또는 배치 되는 다음 형제 노드로 부모 노드를 다음 형제 노드가 없는 경우 대체 노드 및 ReplaceSelf 반환 false합니다.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 데이터 문자열 예외가 throw 되 고이 메서드의 결과 호출 하는 보다 잘 구성 하지 않으면 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.

적용 대상