XPathNavigator.AppendChild 메서드

정의

현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node.

오버로드

AppendChild()

현재 노드의 자식 노드 목록 끝에 새 자식 노드를 하나 이상 만드는 데 사용되는 XmlWriter 개체를 반환합니다.Returns an XmlWriter object used to create one or more new child nodes at the end of the list of child nodes of the current node.

AppendChild(String)

지정된 XML 데이터 문자열을 사용하여 현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified.

AppendChild(XmlReader)

지정된 XmlReader 개체의 XML 콘텐츠를 사용하여 현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node using the XML contents of the XmlReader object specified.

AppendChild(XPathNavigator)

지정된 XPathNavigator에 있는 노드를 사용하여 현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node using the nodes in the XPathNavigator specified.

AppendChild()

현재 노드의 자식 노드 목록 끝에 새 자식 노드를 하나 이상 만드는 데 사용되는 XmlWriter 개체를 반환합니다.Returns an XmlWriter object used to create one or more new child nodes at the end of the list of child nodes of the current node.

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

반환

현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만드는 데 사용되는 XmlWriter 개체입니다.An XmlWriter object used to create new child nodes at the end of the list of child nodes of the current node.

예외

XPathNavigator가 있는 현재 노드가 요소 노드 또는 루트 노드가 아닙니다.The current node the XPathNavigator is positioned on is not the root node or an element node.

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

예제

다음 예에서 새 pages 자식 요소를 첫 번째 자식 요소 목록에 추가 book 요소에는 contosoBooks.xml 사용 하 여 파일을 XmlWriter 에서 반환 된 개체는 AppendChild 메서드.In the following example, a new pages child element is appended to the list of child elements of the first book element in the contosoBooks.xml file using the XmlWriter object returned from the AppendChild 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");

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

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

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

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

Dim pages As XmlWriter = navigator.AppendChild()
pages.WriteElementString("pages", "100")
pages.Close()

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>  
  

설명

현재 노드의 자식 노드 목록 끝에 새 노드를 추가 자식 노드를 추가 합니다.Appending child nodes adds the new nodes to the end of the list of child nodes for the current node. 예를 들어, 요소에 대 한 세 개의 자식 노드가 있는 경우 첫 번째 추가 노드는 네 번째 자식 노드가 됩니다.For example, when three child nodes exist for an element, the first appended node becomes the fourth child node. 자식 노드가 없는 존재 하는 경우 새 자식 노드를 만들어집니다.If no child nodes exist, then a new child node is created.

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

작성기에 둘 이상의 노드를 작성할 수 있습니다.You can write more than one node to the writer. 모든 노드는 현재 노드의 자식 노드 목록 끝에 추가 됩니다.All nodes are appended to the end of the list of child nodes of the current node.

AppendChild(String)

지정된 XML 데이터 문자열을 사용하여 현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node using the XML data string specified.

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

매개 변수

newChild
String

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

예외

XML 데이터 문자열 매개 변수가 null입니다.The XML data string parameter is null.

XPathNavigator가 있는 현재 노드가 요소 노드 또는 루트 노드가 아닙니다.The current node the XPathNavigator is positioned on is not the root node or an element node.

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

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

예제

다음 예제에서는 pages 파일에서 첫 번째 book 요소의 자식 요소 목록에 새 contosoBooks.xml 자식 요소를 추가합니다.In the following example, a new pages child element is appended to the list of child elements 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->AppendChild("<pages>100</pages>");

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

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.AppendChild("<pages>100</pages>")

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>  
  

설명

현재 노드의 자식 노드 목록 끝에 새 노드를 추가 자식 노드를 추가 합니다.Appending a child node adds the new node to the end of the list of child nodes for the current node. 예를 들어, 요소에 대 한 세 개의 자식 노드가 있는 경우 추가 노드는 네 번째 자식 노드가 됩니다.For example, when three child nodes exist for an element, the appended node becomes the fourth child node. 자식 노드가 없는 존재 하는 경우 새 자식 노드를 만들어집니다.If no child nodes exist, then a new child node is created.

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

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

AppendChild(XmlReader)

지정된 XmlReader 개체의 XML 콘텐츠를 사용하여 현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node using the XML contents of the XmlReader object specified.

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

매개 변수

newChild
XmlReader

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

예외

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

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

XPathNavigator가 있는 현재 노드가 요소 노드 또는 루트 노드가 아닙니다.The current node the XPathNavigator is positioned on is not the root node or an element node.

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

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

예제

다음 예에서 새 pages 자식 요소를 첫 번째 자식 요소 목록에 추가 book 요소에는 contosoBooks.xml 를 사용 하 여 파일을 XmlReader 지정 된 개체입니다.In the following example, a new pages child element is appended to the list of child elements 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 child element is appended 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");

XmlReader^ pages = XmlReader::Create(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator->AppendChild(pages);

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

XmlReader pages = XmlReader.Create(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));

navigator.AppendChild(pages);

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

Dim pages As XmlReader = XmlReader.Create(New StringReader("<pages xmlns='http://www.contoso.com/books'>100</pages>"))

navigator.AppendChild(pages)

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>  
  

설명

현재 노드의 자식 노드 목록 끝에 새 노드를 추가 자식 노드를 추가 합니다.Appending a child node adds the new node to the end of the list of child nodes for the current node. 예를 들어, 요소에 대 한 세 개의 자식 노드가 있는 경우 추가 노드는 네 번째 자식 노드가 됩니다.For example, when three child nodes exist for an element, the appended node becomes the fourth child node. 자식 노드가 없는 존재 하는 경우 새 자식 노드를 만들어집니다.If no child nodes exist, then a new child node is created.

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

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

  • 합니다 AppendChild 메서드는 경우에만 유효 합니다 XPathNavigator 루트 노드 또는 요소 노드에 배치 됩니다.The AppendChild method is valid only when the XPathNavigator is positioned on the root node or an element node.

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

AppendChild(XPathNavigator)

지정된 XPathNavigator에 있는 노드를 사용하여 현재 노드의 자식 노드 목록 끝에 새 자식 노드를 만듭니다.Creates a new child node at the end of the list of child nodes of the current node using the nodes in the XPathNavigator specified.

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

매개 변수

newChild
XPathNavigator

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

예외

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

XPathNavigator가 있는 현재 노드가 요소 노드 또는 루트 노드가 아닙니다.The current node the XPathNavigator is positioned on is not the root node or an element node.

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

예제

다음 예에서 새 pages 자식 요소를 첫 번째 자식 요소 목록에 추가 book 요소에는 contosoBooks.xml 에 포함 된 노드를 사용 하 여 파일을 XPathNavigator 지정 합니다.In the following example, a new pages child element is appended to the list of child elements of the first book element in the contosoBooks.xml file using the node contained in the XPathNavigator specified. http://www.contoso.com/books 네임 스페이스는 XML 문서와 동일한 네임 스페이스를 사용 하 여 새 자식 요소는 추가 되도록 지정 됩니다.The http://www.contoso.com/books namespace is specified so that the new child element is appended 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");

XmlDocument^ childNodes = gcnew XmlDocument();
childNodes->Load(gcnew StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator^ childNodesNavigator = childNodes->CreateNavigator();


if (childNodesNavigator->MoveToChild("pages", "http://www.contoso.com/books"))
{
    navigator->AppendChild(childNodesNavigator);
}

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

XmlDocument childNodes = new XmlDocument();
childNodes.Load(new StringReader("<pages xmlns=\"http://www.contoso.com/books\">100</pages>"));
XPathNavigator childNodesNavigator = childNodes.CreateNavigator();


if(childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books")) 
{
    navigator.AppendChild(childNodesNavigator);
}

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

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()

If childNodesNavigator.MoveToChild("pages", "http://www.contoso.com/books") Then
    navigator.AppendChild(childNodesNavigator)
End If

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>  
  

설명

현재 노드의 자식 노드 목록 끝에 새 노드를 추가 자식 노드를 추가 합니다.Appending a child node adds the new node to the end of the list of child nodes for the current node. 예를 들어, 요소에 대 한 세 개의 자식 노드가 있는 경우 추가 노드는 네 번째 자식 노드가 됩니다.For example, when three child nodes exist for an element, the appended node becomes the fourth child node. 자식 노드가 없는 존재 하는 경우 새 자식 노드를 만들어집니다.If no child nodes exist, then a new child node is created.

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

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

  • 합니다 AppendChild 메서드는 경우에만 유효 합니다 XPathNavigator 루트 노드 또는 요소 노드에 배치 됩니다.The AppendChild method is valid only when the XPathNavigator is positioned on the root node or an element node.

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

적용 대상