Condividi tramite


XmlDocument.CreateNode Metodo

Definizione

Crea un oggetto XmlNode.

Overload

CreateNode(String, String, String)

Crea un oggetto XmlNode con il tipo di nodo e le proprietà Name e NamespaceURI specificati.

CreateNode(XmlNodeType, String, String)

Crea un oggetto XmlNode con le proprietà XmlNodeType, Name e NamespaceURI specificate.

CreateNode(XmlNodeType, String, String, String)

Crea un oggetto XmlNode con gli oggetti XmlNodeType, Prefix, Name e NamespaceURI specificati.

CreateNode(String, String, String)

Origine:
XmlDocument.cs
Origine:
XmlDocument.cs
Origine:
XmlDocument.cs

Crea un oggetto XmlNode con il tipo di nodo e le proprietà Name e NamespaceURI specificati.

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

Parametri

nodeTypeString
String

Versione stringa dell'oggetto XmlNodeType del nuovo nodo. Questo parametro deve essere uno dei valori elencati nella tabella seguente.

name
String

Nome completo del nuovo nodo. Se il nome contiene i due punti, viene analizzato nei componenti Prefix e LocalName.

namespaceURI
String

URI dello spazio dei nomi del nuovo nodo.

Restituisce

Nuovo oggetto XmlNode.

Eccezioni

Il nome non è stato fornito e XmlNodeType richiede un nome oppure nodeTypeString non è una delle stringhe elencate di seguito.

Esempio

L'esempio seguente crea un nuovo elemento e lo inserisce nel 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

Commenti

Il nodeTypeString parametro fa distinzione tra maiuscole e minuscole e deve essere uno dei valori della tabella seguente.

nodeTypeString XmlNodeType
Attributo Attributo
cdatasection CDATA
comment Commento
documento Documento
documentfragment DocumentFragment
Documenttype DocumentType
element Elemento
Entityreference EntityReference
processinginstruction ProcessingInstruction
significantwhitespace SignificantWhitespace
testo Testo
whitespace Spazio vuoto

Anche se questo metodo crea il nuovo oggetto nel contesto del documento, non aggiunge automaticamente il nuovo oggetto all'albero del documento. Per aggiungere il nuovo oggetto, è necessario chiamare in modo esplicito uno dei metodi di inserimento del nodo.

Nella tabella seguente viene illustrato il valore consentito NodeType[row] all'interno di un'altra colonna NodeType[column] in base alla raccomandazione W3C Extensible Markup Language (XML) 1.0.

Documento DocumentType XmlDeclaration Elemento Attributo Testo CDATA markup EntityReference
Document no no no no no no no no no
DocumentType no no no no no no no no
XmlDeclaration sì* no no no no no no no no
Element no no no no no no Sì***
Attribute no no no Sì**** no no no no no
Text no no no no no no
CDATA no no no no no no no Sì***
Markup** no no no no no no no
EntityReference no no no no no no

* Il nodo XmlDeclaration deve essere il primo elemento figlio del nodo Documento.

** Il markup include i nodi ProcessingInstruction e Comment.

I nodi Element e CDATA sono consentiti solo nei nodi EntityReference quando il nodo EntityReference non è figlio di un nodo Attribute.

Gli attributi non sono elementi figlio di un nodo Element. Gli attributi sono contenuti all'interno di una raccolta di attributi che appartiene a un nodo Element.

Questo metodo è un'estensione Microsoft al dom (Document Object Model).

Si applica a

CreateNode(XmlNodeType, String, String)

Origine:
XmlDocument.cs
Origine:
XmlDocument.cs
Origine:
XmlDocument.cs

Crea un oggetto XmlNode con le proprietà XmlNodeType, Name e NamespaceURI specificate.

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

Parametri

type
XmlNodeType

XmlNodeType del nuovo nodo.

name
String

Nome completo del nuovo nodo. Se il nome contiene i due punti, viene analizzato nei componenti Prefix e LocalName.

namespaceURI
String

URI dello spazio dei nomi del nuovo nodo.

Restituisce

Nuovo oggetto XmlNode.

Eccezioni

Non è stato specificato il nome e il XmlNodeType richiede un nome.

Esempio

L'esempio seguente crea un nuovo elemento e lo inserisce in un 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

Commenti

Anche se questo metodo crea il nuovo oggetto nel contesto del documento, non aggiunge automaticamente il nuovo oggetto all'albero del documento. Per aggiungere il nuovo oggetto, è necessario chiamare in modo esplicito uno dei metodi di inserimento del nodo.

Nella tabella seguente viene illustrato il valore consentito NodeType[row] all'interno di un'altra colonna NodeType[column] in base alla raccomandazione W3C Extensible Markup Language (XML) 1.0.

Documento DocumentType XmlDeclaration Elemento Attributo Testo CDATA markup EntityReference
Document no no no no no no no no no
DocumentType no no no no no no no no
XmlDeclaration sì* no no no no no no no no
Element no no no no no no Sì***
Attribute no no no Sì**** no no no no no
Text no no no no no no
CDATA no no no no no no no Sì***
Markup** no no no no no no no
EntityReference no no no no no no

* Il nodo XmlDeclaration deve essere il primo elemento figlio del nodo Documento.

** Il markup include i nodi ProcessingInstruction e Comment.

I nodi Element e CDATA sono consentiti solo nei nodi EntityReference quando il nodo EntityReference non è figlio di un nodo Attribute.

Gli attributi non sono elementi figlio di un nodo Element. Gli attributi sono contenuti all'interno di una raccolta di attributi che appartiene a un nodo Element.

Questo metodo è un'estensione Microsoft al dom (Document Object Model).

Si applica a

CreateNode(XmlNodeType, String, String, String)

Origine:
XmlDocument.cs
Origine:
XmlDocument.cs
Origine:
XmlDocument.cs

Crea un oggetto XmlNode con gli oggetti XmlNodeType, Prefix, Name e NamespaceURI specificati.

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

Parametri

type
XmlNodeType

XmlNodeType del nuovo nodo.

prefix
String

Prefisso del nuovo nodo.

name
String

Nome locale del nuovo nodo.

namespaceURI
String

URI dello spazio dei nomi del nuovo nodo.

Restituisce

Nuovo oggetto XmlNode.

Eccezioni

Non è stato specificato il nome e il XmlNodeType richiede un nome.

Esempio

Nell'esempio seguente viene aggiunto un nuovo elemento al 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

Commenti

Anche se questo metodo crea il nuovo oggetto nel contesto del documento, non aggiunge automaticamente il nuovo oggetto all'albero del documento. Per aggiungere il nuovo oggetto, è necessario chiamare in modo esplicito uno dei metodi di inserimento del nodo.

Nella tabella seguente viene illustrato il valore consentito NodeType[row] all'interno di un'altra colonna NodeType[column] in base alla raccomandazione W3C Extensible Markup Language (XML) 1.0.

Documento DocumentType XmlDeclaration Elemento Attributo Testo CDATA markup EntityReference
Document no no no no no no no no no
DocumentType no no no no no no no no
XmlDeclaration sì* no no no no no no no no
Element no no no no no no Sì***
Attribute no no no Sì**** no no no no no
Text no no no no no no
CDATA no no no no no no no Sì***
Markup** no no no no no no no
EntityReference no no no no no no

* Il nodo XmlDeclaration deve essere il primo figlio del nodo Documento.

** Il markup include i nodi ProcessingInstruction e Comment.

I nodi Element e CDATA sono consentiti solo nei nodi EntityReference quando il nodo EntityReference non è figlio di un nodo Attributo.

Gli attributi non sono figlio di un nodo Elemento. Gli attributi sono contenuti all'interno di un insieme di attributi che appartiene al nodo Element.

Questo metodo è un'estensione Microsoft al modello a oggetti document (DOM).

Si applica a