XmlDocument.CreateNode Метод

Определение

Создает объект XmlNode.

Перегрузки

Имя Описание
CreateNode(String, String, String)

Создает объект с указанным типом XmlNode узла и NameNamespaceURI.

CreateNode(XmlNodeType, String, String)

XmlNode Создает объект с указанным XmlNodeType, Nameи NamespaceURI.

CreateNode(XmlNodeType, String, String, String)

XmlNode Создает объект с указанным XmlNodeType, Prefixи NameNamespaceURI.

CreateNode(String, String, String)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

Создает объект с указанным типом XmlNode узла и NameNamespaceURI.

public:
 virtual System::Xml::XmlNode ^ CreateNode(System::String ^ nodeTypeString, System::String ^ name, System::String ^ namespaceURI);
public virtual System.Xml.XmlNode CreateNode(string nodeTypeString, string name, string namespaceURI);
public virtual System.Xml.XmlNode CreateNode(string nodeTypeString, string name, string? namespaceURI);
abstract member CreateNode : string * string * string -> System.Xml.XmlNode
override this.CreateNode : string * string * string -> System.Xml.XmlNode
Public Overridable Function CreateNode (nodeTypeString As String, name As String, namespaceURI As String) As XmlNode

Параметры

nodeTypeString
String

Строка версии XmlNodeType нового узла. Этот параметр должен быть одним из значений, перечисленных в таблице ниже.

name
String

Полное имя нового узла. Если имя содержит двоеточие, он анализируется и PrefixLocalName выполняется анализ компонентов.

namespaceURI
String

URI пространства имен нового узла.

Возвращаемое значение

Новый XmlNode.

Исключения

Имя не было указано и XmlNodeType требуется имя; или nodeTypeString не является одной из строк, перечисленных ниже.

Примеры

В следующем примере создается новый элемент и он вставляется в документ.

using System;
using System.Xml;

public class Sample {

  public static void Main() {

       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<book>" +
                   "  <title>Oberon's Legacy</title>" +
                   "  <price>5.95</price>" +
                   "</book>");

       // Create a new element node.
       XmlNode newElem = doc.CreateNode("element", "pages", "");
       newElem.InnerText = "290";

       Console.WriteLine("Add the new element to the document...");
       XmlElement root = doc.DocumentElement;
       root.AppendChild(newElem);

       Console.WriteLine("Display the modified XML document...");
       Console.WriteLine(doc.OuterXml);
   }
 }
Imports System.Xml

public class Sample 

  public shared sub Main() 

       Dim doc as XmlDocument = new XmlDocument()
       doc.LoadXml("<book>" & _
                   "  <title>Oberon's Legacy</title>" & _
                   "  <price>5.95</price>" & _
                   "</book>") 
 
       ' Create a new element node.
       Dim newElem as XmlNode = doc.CreateNode("element", "pages", "")  
       newElem.InnerText = "290"
     
       Console.WriteLine("Add the new element to the document...")
       Dim root as XmlElement = doc.DocumentElement
       root.AppendChild(newElem)
     
       Console.WriteLine("Display the modified XML document...")
       Console.WriteLine(doc.OuterXml)
   end sub
end class

Комментарии

Параметр nodeTypeString учитывает регистр и должен быть одним из значений в следующей таблице.

nodeTypeString XmlNodeType
атрибут Атрибут
cdatasection CDATA
Комментарий Комментарий
документ Документ
documentfragment DocumentFragment
тип документа Тип документа
элемент Элемент
Entityreference EntityReference
обработка структуры Инструкция по обработке
значительное пространствоwhitespace ЗначащиеПробелы (SignificantWhitespace)
text Text
пробел Пробелы

Хотя этот метод создает новый объект в контексте документа, он не автоматически добавляет новый объект в дерево документов. Чтобы добавить новый объект, необходимо явно вызвать один из методов вставки узла.

В следующей таблице показано, что NodeType[row] разрешено в другом узле NodeType[column] в соответствии с рекомендацией W3C Extensible Markup Language (XML) 1.0.

Тип узла Документ Тип документа Объявление XML Элемент Атрибут Text CDATA Разметка EntityReference
Document Нет Нет Нет Нет Нет Нет Нет Нет Нет
DocumentType да Нет Нет Нет Нет Нет Нет Нет Нет
XmlDeclaration Да* Нет Нет Нет Нет Нет Нет Нет Нет
Element да Нет Нет да Нет Нет Нет Нет Да†
Attribute Нет Нет Нет Да! Нет Нет Нет Нет Нет
Text Нет Нет Нет да да Нет Нет Нет да
CDATA Нет Нет Нет да Нет Нет Нет Нет Да†
Markup § да Нет Нет да Нет Нет Нет Нет Нет
EntityReference Нет Нет Нет да да Нет Нет Нет да

* Узел XmlDeclaration должен быть первым дочерним элементом узла Document.

§ Markup включает ProcessingInstruction и Comment узлы.

Element† и CDATA узлы разрешены только в EntityReference узлах, если EntityReference узел не является дочерним элементом Attribute узла.

• Атрибуты не являются дочерними элементами Element узла. Атрибуты содержатся в коллекции атрибутов, принадлежащую Element узлу.

Этот метод представляет собой расширение Microsoft объектной модели документа (DOM).

Применяется к

CreateNode(XmlNodeType, String, String)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

XmlNode Создает объект с указанным XmlNodeType, Nameи NamespaceURI.

public:
 virtual System::Xml::XmlNode ^ CreateNode(System::Xml::XmlNodeType type, System::String ^ name, System::String ^ namespaceURI);
public virtual System.Xml.XmlNode CreateNode(System.Xml.XmlNodeType type, string name, string namespaceURI);
public virtual System.Xml.XmlNode CreateNode(System.Xml.XmlNodeType type, string name, string? namespaceURI);
abstract member CreateNode : System.Xml.XmlNodeType * string * string -> System.Xml.XmlNode
override this.CreateNode : System.Xml.XmlNodeType * string * string -> System.Xml.XmlNode
Public Overridable Function CreateNode (type As XmlNodeType, name As String, namespaceURI As String) As XmlNode

Параметры

type
XmlNodeType

Новый XmlNodeType узел.

name
String

Полное имя нового узла. Если имя содержит двоеточие, он анализируется и PrefixLocalName выполняется синтаксический анализ.

namespaceURI
String

URI пространства имен нового узла.

Возвращаемое значение

Новый XmlNode.

Исключения

Имя не указано и XmlNodeType требуется имя.

Примеры

В следующем примере создается новый элемент и он вставляется в XML-документ.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    //Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "</book>");

    //Create a new node and add it to the document.
    XmlNode elem = doc.CreateNode(XmlNodeType.Element, "price", null);
    elem.InnerText = "19.95";
    doc.DocumentElement.AppendChild(elem);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        'Create the XmlDocument.
        Dim doc As New XmlDocument()
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "</book>")
        
        'Create a new node and add it to the document.
        Dim elem As XmlNode = doc.CreateNode(XmlNodeType.Element, "price", Nothing)
        elem.InnerText = "19.95"
        doc.DocumentElement.AppendChild(elem)
        
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
    End Sub
End Class

Комментарии

Хотя этот метод создает новый объект в контексте документа, он не автоматически добавляет новый объект в дерево документов. Чтобы добавить новый объект, необходимо явно вызвать один из методов вставки узла.

В следующей таблице показано, что NodeType[row] разрешено в другом узле NodeType[column] в соответствии с рекомендацией W3C Extensible Markup Language (XML) 1.0.

Тип узла Документ Тип документа Объявление XML Элемент Атрибут Text CDATA Разметка EntityReference
Document Нет Нет Нет Нет Нет Нет Нет Нет Нет
DocumentType да Нет Нет Нет Нет Нет Нет Нет Нет
XmlDeclaration Да* Нет Нет Нет Нет Нет Нет Нет Нет
Element да Нет Нет да Нет Нет Нет Нет Да†
Attribute Нет Нет Нет Да! Нет Нет Нет Нет Нет
Text Нет Нет Нет да да Нет Нет Нет да
CDATA Нет Нет Нет да Нет Нет Нет Нет Да†
Markup§ да Нет Нет да Нет Нет Нет Нет Нет
EntityReference Нет Нет Нет да да Нет Нет Нет да

* Узел XmlDeclaration должен быть первым дочерним элементом узла Document.

§ Markup включает ProcessingInstruction и Comment узлы.

Element† и CDATA узлы разрешены только в EntityReference узлах, если EntityReference узел не является дочерним элементом Attribute узла.

• Атрибуты не являются дочерними элементами Element узла. Атрибуты содержатся в коллекции атрибутов, принадлежащую Element узлу.

Этот метод представляет собой расширение Microsoft объектной модели документа (DOM).

Применяется к

CreateNode(XmlNodeType, String, String, String)

Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs
Исходный код:
XmlDocument.cs

XmlNode Создает объект с указанным XmlNodeType, Prefixи NameNamespaceURI.

public:
 virtual System::Xml::XmlNode ^ CreateNode(System::Xml::XmlNodeType type, System::String ^ prefix, System::String ^ name, System::String ^ namespaceURI);
public virtual System.Xml.XmlNode CreateNode(System.Xml.XmlNodeType type, string prefix, string name, string namespaceURI);
public virtual System.Xml.XmlNode CreateNode(System.Xml.XmlNodeType type, string? prefix, string name, string? namespaceURI);
abstract member CreateNode : System.Xml.XmlNodeType * string * string * string -> System.Xml.XmlNode
override this.CreateNode : System.Xml.XmlNodeType * string * string * string -> System.Xml.XmlNode
Public Overridable Function CreateNode (type As XmlNodeType, prefix As String, name As String, namespaceURI As String) As XmlNode

Параметры

type
XmlNodeType

Новый XmlNodeType узел.

prefix
String

Префикс нового узла.

name
String

Локальное имя нового узла.

namespaceURI
String

URI пространства имен нового узла.

Возвращаемое значение

Новый XmlNode.

Исключения

Имя не указано и XmlNodeType требуется имя.

Примеры

В следующем примере в документ добавляется новый элемент.

using System;
using System.Xml;

public class Sample {

  public static void Main() {

        // Create a new document containing information about a book
        XmlDocument doc = new XmlDocument();
        doc.LoadXml("<book>" +
                    "  <title>Oberon's Legacy</title>" +
                    "  <price>5.95</price>" +
                    "</book>");

        // Create a new element node for the ISBN of the book
        // It is possible to supply a prefix for this node, and specify a qualified namespace.
        XmlNode newElem;
        newElem = doc.CreateNode(XmlNodeType.Element, "g", "ISBN", "https://global.ISBN/list");
        newElem.InnerText = "1-861001-57-5";

        // Add the new element to the document
        XmlElement root = doc.DocumentElement;
        root.AppendChild(newElem);

        // Display the modified XML document
        Console.WriteLine(doc.OuterXml);

        //Output:
        // <book><title>Oberon's Legacy</title><price>5.95</price><g:ISBN xmlns:g="https://global.ISBN/list">1-861001-57-5</g:ISBN></book>
   }
 }
Imports System.Xml

public class Sample 

  public shared sub Main() 

        Dim doc as XmlDocument = new XmlDocument()
        doc.LoadXml("<book>" & _
                    "  <title>Oberon's Legacy</title>" & _
                    "  <price>5.95</price>" & _
                       "</book>") 
 
        ' Create a new element node.
        ' It is possible to supply a prefix for this node, and specify a qualified namespace
        Dim newElem as XmlNode
        newElem = doc.CreateNode(XmlNodeType.Element,"g", "ISBN","https://global.ISBN/list")
        newElem.InnerText = "1-861001-57-5"
     
        ' Add the new element to the document
        Dim root as XmlElement = doc.DocumentElement
        root.AppendChild(newElem)
     
        ' Display the modified XML document
        Console.WriteLine(doc.OuterXml)
        
        ' Output:
        ' <book><title>Oberon's Legacy</title><price>5.95</price><g:ISBN xmlns:g="https://global.ISBN/list">1-861001-57-5</g:ISBN></book>
   end sub
end class

Комментарии

Хотя этот метод создает новый объект в контексте документа, он не автоматически добавляет новый объект в дерево документов. Чтобы добавить новый объект, необходимо явно вызвать один из методов вставки узла.

В следующей таблице показано, что NodeType[row] разрешено в другом узле NodeType[column] в соответствии с рекомендацией W3C Extensible Markup Language (XML) 1.0.

Документ Тип документа Объявление XML Элемент Атрибут Text CDATA Разметка EntityReference
Document Нет Нет Нет Нет Нет Нет Нет Нет Нет
DocumentType да Нет Нет Нет Нет Нет Нет Нет Нет
XmlDeclaration Да* Нет Нет Нет Нет Нет Нет Нет Нет
Element да Нет Нет да Нет Нет Нет Нет Да†
Attribute Нет Нет Нет Да! Нет Нет Нет Нет Нет
Text Нет Нет Нет да да Нет Нет Нет да
CDATA Нет Нет Нет да Нет Нет Нет Нет Да†
Markup§ да Нет Нет да Нет Нет Нет Нет Нет
EntityReference Нет Нет Нет да да Нет Нет Нет да

* Узел XmlDeclaration должен быть первым дочерним элементом узла Document.

§ Markup включает ProcessingInstruction и Comment узлы.

Element† и CDATA узлы разрешены только в EntityReference узлах, если EntityReference узел не является дочерним элементом Attribute узла.

• Атрибуты не являются дочерними элементами Element узла. Атрибуты содержатся в коллекции атрибутов, принадлежащую Element узлу.

Этот метод представляет собой расширение Microsoft объектной модели документа (DOM).

Применяется к