Partilhar via


XmlDocument.CreateNode Método

Definição

Cria um XmlNode.

Sobrecargas

CreateNode(String, String, String)

Cria um XmlNode com o tipo de nó especificado, Name e NamespaceURI.

CreateNode(XmlNodeType, String, String)

Cria um XmlNode com o XmlNodeType, Name e NamespaceURI especificados.

CreateNode(XmlNodeType, String, String, String)

Cria um XmlNode com o XmlNodeType, Prefix, Name e NamespaceURI especificados.

CreateNode(String, String, String)

Cria um XmlNode com o tipo de nó especificado, Name e NamespaceURI.

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

Parâmetros

nodeTypeString
String

Versão de cadeia de caracteres do XmlNodeType do novo nó. Esse parâmetro deve ser um dos valores listados na tabela a seguir.

name
String

O nome qualificado do novo nó. Se o nome contiver dois-pontos, ela será analisada em componentes Prefix e LocalName.

namespaceURI
String

O URI do namespace do novo nó.

Retornos

XmlNode

O novo XmlNode.

Exceções

O nome não foi fornecido e o XmlNodeType requer um nome ou nodeTypeString não é uma das cadeias de caracteres listadas abaixo.

Exemplos

O exemplo a seguir cria um novo elemento e o insere no documento.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew 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 );
}

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

Comentários

O nodeTypeString parâmetro diferencia maiúsculas de minúsculas e deve ser um dos valores na tabela a seguir.

nodeTypeString XmlNodeType
Atributo Atributo
Cdatasection CDATA
comentário Comentário
documento Document
Documentfragment DocumentFragment
Documenttype DocumentType
elemento Elemento
Entityreference EntityReference
Processinginstruction ProcessingInstruction
Significantwhitespace SignificantWhitespace
texto Texto
espaço em branco Espaço em branco

Embora esse método crie o novo objeto no contexto do documento, ele não adiciona automaticamente o novo objeto à árvore de documentos. Para adicionar o novo objeto, você deve chamar explicitamente um dos métodos de inserção de nó.

A tabela a seguir mostra o que NodeType[row] é permitido dentro de outro NodeType[column] de acordo com a recomendação XML (Linguagem de Marcação Extensível) do W3C 1.0.

Document DocumentType XmlDeclaration Elemento Atributo Texto CDATA Marcação EntityReference
Document não não não não não não não não não
DocumentType sim não não não não não não não não
XmlDeclaration sim* não não não não não não não não
Element sim não não sim não não não não Sim***
Attribute não não não Sim**** não não não não não
Text não não não sim sim não não não sim
CDATA não não não sim não não não não Sim***
Markup** sim não não sim não não não não não
EntityReference não não não sim sim não não não sim

* O nó XmlDeclaration deve ser o primeiro filho do nó documento.

** A marcação inclui nós processingInstruction e Comment.

Nós de elemento e CDATA só são permitidos em nós EntityReference quando o nó EntityReference não é filho de um nó attribute.

Os atributos não são filhos de um nó de elemento. Os atributos estão contidos em uma coleção de atributos que pertence a um nó de elemento.

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Aplica-se a

CreateNode(XmlNodeType, String, String)

Cria um XmlNode com o XmlNodeType, Name e NamespaceURI especificados.

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

Parâmetros

type
XmlNodeType

O XmlNodeType do novo nó.

name
String

O nome qualificado do novo nó. Se o nome contiver dois-pontos, ele será analisado em componentes Prefix e LocalName.

namespaceURI
String

O URI do namespace do novo nó.

Retornos

XmlNode

O novo XmlNode.

Exceções

O nome não foi fornecido e o XmlNodeType exige um nome.

Exemplos

O exemplo a seguir cria um novo elemento e o insere em um documento XML.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   //Create the XmlDocument.
   XmlDocument^ doc = gcnew 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", nullptr );
   elem->InnerText = "19.95";
   doc->DocumentElement->AppendChild( elem );
   Console::WriteLine( "Display the modified XML..." );
   doc->Save( Console::Out );
}

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

Comentários

Embora esse método crie o novo objeto no contexto do documento, ele não adiciona automaticamente o novo objeto à árvore de documentos. Para adicionar o novo objeto, você deve chamar explicitamente um dos métodos de inserção de nó.

A tabela a seguir mostra o que NodeType[row] é permitido dentro de outro NodeType[column] de acordo com a recomendação XML (Linguagem de Marcação Extensível) do W3C 1.0.

Document DocumentType XmlDeclaration Elemento Atributo Texto CDATA Marcação EntityReference
Document não não não não não não não não não
DocumentType sim não não não não não não não não
XmlDeclaration sim* não não não não não não não não
Element sim não não sim não não não não sim***
Attribute não não não sim**** não não não não não
Text não não não sim sim não não não sim
CDATA não não não sim não não não não sim***
Markup** sim não não sim não não não não não
EntityReference não não não sim sim não não não sim

* O nó XmlDeclaration deve ser o primeiro filho do nó Documento.

** A marcação inclui nós ProcessingInstruction e Comment.

Nós de elemento e CDATA só são permitidos em nós EntityReference quando o nó EntityReference não é filho de um nó attribute.

Os atributos não são filhos de um nó de elemento. Os atributos estão contidos em uma coleção de atributos que pertence a um nó element.

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Aplica-se a

CreateNode(XmlNodeType, String, String, String)

Cria um XmlNode com o XmlNodeType, Prefix, Name e NamespaceURI especificados.

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

Parâmetros

type
XmlNodeType

O XmlNodeType do novo nó.

prefix
String

O prefixo do novo nó.

name
String

O nome local do novo nó.

namespaceURI
String

O URI do namespace do novo nó.

Retornos

XmlNode

O novo XmlNode.

Exceções

O nome não foi fornecido e o XmlNodeType exige um nome.

Exemplos

O exemplo a seguir adiciona um novo elemento ao documento.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<book>  <title>Oberon's Legacy</title>  <price>5.95</price></book>" );
   
   // Create a new element node.
   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>
}

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

Comentários

Embora esse método crie o novo objeto no contexto do documento, ele não adiciona automaticamente o novo objeto à árvore de documentos. Para adicionar o novo objeto, você deve chamar explicitamente um dos métodos de inserção de nó.

A tabela a seguir mostra o que NodeType[row] é permitido dentro de outro NodeType[column] de acordo com a recomendação XML (Linguagem de Marcação Extensível) do W3C 1.0.

Document DocumentType XmlDeclaration Elemento Atributo Texto CDATA Marcação EntityReference
Document não não não não não não não não não
DocumentType sim não não não não não não não não
XmlDeclaration sim* não não não não não não não não
Element sim não não sim não não não não Sim***
Attribute não não não Sim**** não não não não não
Text não não não sim sim não não não sim
CDATA não não não sim não não não não Sim***
Markup** sim não não sim não não não não não
EntityReference não não não sim sim não não não sim

* O nó XmlDeclaration deve ser o primeiro filho do nó documento.

** A marcação inclui nós processingInstruction e Comment.

Nós de elemento e CDATA só são permitidos em nós EntityReference quando o nó EntityReference não é filho de um nó attribute.

Os atributos não são filhos de um nó de elemento. Os atributos estão contidos em uma coleção de atributos que pertence ao nó Elemento.

Esse método é uma extensão da Microsoft para o DOM (Modelo de Objeto de Documento).

Aplica-se a