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()
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.
在调用对象的方法之前,不会插入新的子节点 Close XmlWriter 。The new child node is not inserted until the Close method of the XmlWriter object is called.
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.
您可以向编写器写入多个节点。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仅当位于 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(XmlReader)
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
一个 XmlReader 对象,该对象定位在新的子节点的 XML 数据上。An XmlReader object positioned on the XML data for the new child 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 使用指定的对象将新的子元素追加到文件中第一个元素的子元素列表中 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.