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.

C#
public virtual System.Xml.XmlNode CreateNode (string nodeTypeString, string name, string namespaceURI);
C#
public virtual System.Xml.XmlNode CreateNode (string nodeTypeString, string name, string? namespaceURI);

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.

C#
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);
   }
 }

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

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

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.

C#
public virtual System.Xml.XmlNode CreateNode (System.Xml.XmlNodeType type, string name, string namespaceURI);
C#
public virtual System.Xml.XmlNode CreateNode (System.Xml.XmlNodeType type, string name, string? namespaceURI);

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.

C#
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);
  }
}

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

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

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.

C#
public virtual System.Xml.XmlNode CreateNode (System.Xml.XmlNodeType type, string prefix, string name, string namespaceURI);
C#
public virtual System.Xml.XmlNode CreateNode (System.Xml.XmlNodeType type, string? prefix, string name, string? namespaceURI);

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.

C#
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>
   }
 }

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

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0