XPathNavigator.InsertBefore 메서드

정의

현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node.

오버로드

InsertBefore()

현재 선택된 노드 앞에 새 형제 노드를 만드는 데 사용되는 XmlWriter 개체를 반환합니다.Returns an XmlWriter object used to create a new sibling node before the currently selected node.

InsertBefore(String)

지정된 XML 문자열을 사용하여 현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node using the XML string specified.

InsertBefore(XmlReader)

지정된 XmlReader 개체의 XML 콘텐츠를 사용하여 현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified.

InsertBefore(XPathNavigator)

지정된 XPathNavigator의 노드를 사용하여 현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified.

InsertBefore()

현재 선택된 노드 앞에 새 형제 노드를 만드는 데 사용되는 XmlWriter 개체를 반환합니다.Returns an XmlWriter object used to create a new sibling node before the currently selected node.

public:
 virtual System::Xml::XmlWriter ^ InsertBefore();
public virtual System.Xml.XmlWriter InsertBefore ();
abstract member InsertBefore : unit -> System.Xml.XmlWriter
override this.InsertBefore : unit -> System.Xml.XmlWriter
Public Overridable Function InsertBefore () As XmlWriter

반환

현재 선택된 노드 앞에 새 형제 노드를 만드는 데 사용되는 XmlWriter 개체입니다.An XmlWriter object used to create a new sibling node before the currently selected node.

예외

XPathNavigator 위치에서는 현재 노드 앞에 새로운 형제 노드를 삽입할 수 없습니다.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

XPathNavigator에서는 편집을 지원하지 않습니다.The XPathNavigator does not support editing.

예제

다음 예제에서는 새 pages 요소 앞에 삽입 됩니다는 price 첫 번째 자식 요소 book 요소에는 contosoBooks.xml 를 사용 하 여 파일을 XmlWriter 에서 반환 된 개체는 InsertBefore 메서드.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file using the XmlWriter object returned by the InsertBefore method.

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

XmlWriter^ pages = navigator->InsertBefore();
pages->WriteElementString("pages", "100");
pages->Close();

navigator->MoveToParent();
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");

XmlWriter pages = navigator.InsertBefore();
pages.WriteElementString("pages", "100");
pages.Close();

navigator.MoveToParent();
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 XmlWriter = navigator.InsertBefore()
pages.WriteElementString("pages", "100")
pages.Close()

navigator.MoveToParent()
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>  
  

설명

다음은 사용 하는 경우를 고려해 야 할 중요 한 정보는 InsertBefore 메서드.The following are important notes to consider when using the InsertBefore method.

  • 될 때까지 새 형제 노드 삽입 되지 않고 합니다 Close 메서드의 XmlWriter 개체 라고 합니다.The new sibling node is not inserted until the Close method of the XmlWriter object is called.

  • 합니다 InsertBefore 메서드는 경우에만 유효 합니다 XPathNavigator 요소, 텍스트, 처리 명령 또는 주석 노드에 배치 됩니다.The InsertBefore method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • 합니다 InsertBefore 메서드의 위치에 영향을 주지 않습니다는 XPathNavigator합니다.The InsertBefore method does not affect the position of the XPathNavigator.

InsertBefore(String)

지정된 XML 문자열을 사용하여 현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node using the XML string specified.

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

매개 변수

newSibling
String

새 형제 노드에 대한 XML 데이터 문자열입니다.The XML data string for the new sibling node.

예외

XML 문자열 매개 변수는 null입니다.The XML string parameter is null.

XPathNavigator 위치에서는 현재 노드 앞에 새로운 형제 노드를 삽입할 수 없습니다.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

XPathNavigator에서는 편집을 지원하지 않습니다.The XPathNavigator does not support editing.

XML 문자열 매개 변수의 형식이 잘못되었습니다.The XML string parameter is not well-formed.

예제

다음 예제에서는 pages 파일에서 첫 번째 price 요소의 book 자식 요소 앞에 새 contosoBooks.xml 요소를 삽입합니다.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file.

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

navigator->MoveToParent();
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.InsertBefore("<pages>100</pages>");

navigator.MoveToParent();
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.InsertBefore("<pages>100</pages>")

navigator.MoveToParent()
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>  
  

설명

새 요소 노드를 만들려면 XML 문자열 매개 변수에 모든 XML 구문을 포함 합니다.To create a new element node, include all XML syntax in the XML string parameter. 새 문자열 book 노드인 InsertBefore("<book/>")합니다.The string for a new book node is InsertBefore("<book/>"). 현재 노드의 텍스트 되기 전에 "book" 텍스트를 삽입 하는 것에 대 한 문자열 InsertBefore("book")합니다.The string for inserting the text "book" before the current node's text node is InsertBefore("book"). XML 문자열에 여러 노드가 포함 된 경우 모든 노드가 추가 됩니다.If the XML string contains multiple nodes, all nodes are added.

다음은 사용 하는 경우를 고려해 야 할 중요 한 정보는 InsertBefore 메서드.The following are important notes to consider when using the InsertBefore method.

InsertBefore(XmlReader)

지정된 XmlReader 개체의 XML 콘텐츠를 사용하여 현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node using the XML contents of the XmlReader object specified.

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

매개 변수

newSibling
XmlReader

새 형제 노드에 대한 XML 데이터에 있는 XmlReader 개체입니다.An XmlReader object positioned on the XML data for the new sibling node.

예외

XmlReader 개체가 오류 상태이거나 닫혀 있습니다.The XmlReader object is in an error state or closed.

XmlReader 개체 매개 변수가 null입니다.The XmlReader object parameter is null.

XPathNavigator 위치에서는 현재 노드 앞에 새로운 형제 노드를 삽입할 수 없습니다.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

XPathNavigator에서는 편집을 지원하지 않습니다.The XPathNavigator does not support editing.

XmlReader 개체 매개 변수의 XML 콘텐츠 형식이 잘못되었습니다.The XML contents of the XmlReader object parameter is not well-formed.

예제

다음 예제에서는 새 pages 요소 앞에 삽입 됩니다는 price 첫 번째 자식 요소 book 요소에는 contosoBooks.xml 를 사용 하 여 파일을 XmlReader 지정 된 개체입니다.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file using the XmlReader object specified. http://www.contoso.com/books 네임 스페이스는 XML 문서와 동일한 네임 스페이스를 사용 하 여 새 형제 요소에 삽입 되도록 지정 합니다.The http://www.contoso.com/books namespace is specified so that the new sibling element is inserted using the same namespace as the XML document.

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->InsertBefore(pages);

navigator->MoveToParent();
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.InsertBefore(pages);

navigator.MoveToParent();
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.InsertBefore(pages)

navigator.MoveToParent()
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>  
  

설명

다음은 사용 하는 경우를 고려해 야 할 중요 한 정보는 InsertBefore 메서드.The following are important notes to consider when using the InsertBefore method.

  • 경우는 XmlReader XML 노드 시퀀스 개체가 배치 되어 있는 시퀀스의 모든 노드가 추가 됩니다.If the XmlReader object is positioned over a sequence of XML nodes, all the nodes in the sequence are added.

  • 합니다 InsertBefore 메서드는 경우에만 유효 합니다 XPathNavigator 요소, 텍스트, 처리 명령 또는 주석 노드에 배치 됩니다.The InsertBefore method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • 합니다 InsertBefore 메서드의 위치에 영향을 주지 않습니다는 XPathNavigator합니다.The InsertBefore method does not affect the position of the XPathNavigator.

InsertBefore(XPathNavigator)

지정된 XPathNavigator의 노드를 사용하여 현재 선택된 노드 앞에 새 형제 노드를 만듭니다.Creates a new sibling node before the currently selected node using the nodes in the XPathNavigator specified.

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

매개 변수

newSibling
XPathNavigator

새 형제 노드로 추가할 노드에 있는 XPathNavigator 개체입니다.An XPathNavigator object positioned on the node to add as the new sibling node.

예외

XPathNavigator 개체 매개 변수가 null입니다.The XPathNavigator object parameter is null.

XPathNavigator 위치에서는 현재 노드 앞에 새로운 형제 노드를 삽입할 수 없습니다.The position of the XPathNavigator does not allow a new sibling node to be inserted before the current node.

XPathNavigator에서는 편집을 지원하지 않습니다.The XPathNavigator does not support editing.

예제

다음 예제에서는 새 pages 요소 앞에 삽입 됩니다는 price 첫 번째 자식 요소 book 요소에는 contosoBooks.xml 에 포함 된 노드를 사용 하 여 파일을 XPathNavigator 지정 된 개체입니다.In the following example a new pages element is inserted before the price child element of the first book element in the contosoBooks.xml file using the node contained in the XPathNavigator object specified. http://www.contoso.com/books 네임 스페이스는 XML 문서와 동일한 네임 스페이스를 사용 하 여 새 형제 요소에 삽입 되도록 지정 합니다.The http://www.contoso.com/books namespace is specified so that the new sibling element is inserted using the same namespace as the XML document.

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->InsertBefore(childNodesNavigator);

navigator->MoveToParent();
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.InsertBefore(childNodesNavigator);

navigator.MoveToParent();
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.InsertBefore(childNodesNavigator)

navigator.MoveToParent()
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>  
  

설명

다음은 사용 하는 경우를 고려해 야 할 중요 한 정보는 InsertBefore 메서드.The following are important notes to consider when using the InsertBefore method.

  • 경우는 XPathNavigator XML 노드 시퀀스 개체가 배치 되어 있는 시퀀스의 모든 노드가 추가 됩니다.If the XPathNavigator object is positioned over a sequence of XML nodes, all the nodes in the sequence are added.

  • 합니다 InsertBefore 메서드는 경우에만 유효 합니다 XPathNavigator 요소, 텍스트, 처리 명령 또는 주석 노드에 배치 됩니다.The InsertBefore method is valid only when the XPathNavigator is positioned on an element, text, processing instruction, or comment node.

  • 합니다 InsertBefore 메서드의 위치에 영향을 주지 않습니다는 XPathNavigator합니다.The InsertBefore method does not affect the position of the XPathNavigator.

적용 대상