XmlDocument.CreateNode Metoda

Definicja

Tworzy element XmlNode.

Przeciążenia

CreateNode(String, String, String)

Tworzy obiekt z określonym typem XmlNode węzła, Name, i NamespaceURI.

CreateNode(XmlNodeType, String, String)

Tworzy element XmlNode z określonym XmlNodeTypeelementem , Namei NamespaceURI.

CreateNode(XmlNodeType, String, String, String)

Tworzy obiekt XmlNode o określonej wartości XmlNodeType, , NamePrefixi NamespaceURI.

CreateNode(String, String, String)

Tworzy obiekt z określonym typem XmlNode węzła, Name, i 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

Parametry

nodeTypeString
String

Wersja XmlNodeType ciągu nowego węzła. Ten parametr musi być jedną z wartości wymienionych w poniższej tabeli.

name
String

Kwalifikowana nazwa nowego węzła. Jeśli nazwa zawiera dwukropek, jest analizowana w Prefix składnikach i LocalName .

namespaceURI
String

Identyfikator URI przestrzeni nazw nowego węzła.

Zwraca

XmlNode

Nowy XmlNodeelement .

Wyjątki

Nazwa nie została podana i XmlNodeType wymaga nazwy lub nodeTypeString nie jest jednym z ciągów wymienionych poniżej.

Przykłady

Poniższy przykład tworzy nowy element i wstawia go do dokumentu.

#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

Uwagi

W parametrze nodeTypeString jest uwzględniana wielkość liter i musi być jedną z wartości w poniższej tabeli.

nodeTypeString XmlNodeType
— atrybut Atrybut
cdatasection CDATA
komentarz Komentarz
dokument Dokument
Documentfragment Documentfragment
Documenttype Documenttype
— element Element
Entityreference Odwołanie do jednostki
processinginstruction ProcessingInstruction
znacząca przestrzeńwhitespace Znacząca przestrzeńwhitespace
tekst Tekst
Odstępu Białe znaki

Mimo że ta metoda tworzy nowy obiekt w kontekście dokumentu, nie dodaje automatycznie nowego obiektu do drzewa dokumentów. Aby dodać nowy obiekt, należy jawnie wywołać jedną z metod wstawiania węzła.

W poniższej tabeli przedstawiono, co parametr NodeType[wiersz] jest dozwolony wewnątrz innego elementu NodeType[column] zgodnie z zaleceniem W3C Extensible Markup Language (XML) 1.0.

Dokument Documenttype Xmldeclaration Element Atrybut Tekst CDATA Znaczniki Odwołanie do jednostki
Document nie nie nie nie nie nie nie nie nie
DocumentType tak nie nie nie nie nie nie nie nie
XmlDeclaration Tak* nie nie nie nie nie nie nie nie
Element tak nie nie tak nie nie nie nie tak***
Attribute nie nie nie yeah**** nie nie nie nie nie
Text nie nie nie tak tak nie nie nie tak
CDATA nie nie nie tak nie nie nie nie tak***
Markup** tak nie nie tak nie nie nie nie nie
EntityReference nie nie nie tak tak nie nie nie tak

* Węzeł XmlDeclaration musi być pierwszym elementem podrzędnym węzła Document.

** Znaczniki obejmują węzły ProcessingInstruction i Comment.

Węzły elementów i CDATA są dozwolone tylko w węzłach EntityReference, gdy węzeł EntityReference nie jest elementem podrzędnym węzła Atrybut.

Atrybuty nie są elementami podrzędnym węzła elementu. Atrybuty znajdują się wewnątrz kolekcji atrybutów, która należy do węzła Element.

Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).

Dotyczy

CreateNode(XmlNodeType, String, String)

Tworzy element XmlNode z określonym XmlNodeTypeelementem , Namei 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

Parametry

type
XmlNodeType

Nowy XmlNodeType węzeł.

name
String

Kwalifikowana nazwa nowego węzła. Jeśli nazwa zawiera dwukropek, jest analizowana w składnikach Prefix i .LocalName

namespaceURI
String

Identyfikator URI przestrzeni nazw nowego węzła.

Zwraca

XmlNode

Nowy XmlNodeelement .

Wyjątki

Nie podano nazwy i XmlNodeType wymaga nazwy.

Przykłady

Poniższy przykład tworzy nowy element i wstawia go do dokumentu 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

Uwagi

Mimo że ta metoda tworzy nowy obiekt w kontekście dokumentu, nie dodaje automatycznie nowego obiektu do drzewa dokumentów. Aby dodać nowy obiekt, należy jawnie wywołać jedną z metod wstawiania węzła.

W poniższej tabeli przedstawiono, co element NodeType[wiersz] jest dozwolony wewnątrz innej kolumny NodeType[column] zgodnie z zaleceniem W3C Extensible Markup Language (XML) 1.0.

Dokument Documenttype Xmldeclaration Element Atrybut Tekst CDATA Znaczniki Odwołanie do jednostki
Document nie nie nie nie nie nie nie nie nie
DocumentType tak nie nie nie nie nie nie nie nie
XmlDeclaration tak* nie nie nie nie nie nie nie nie
Element tak nie nie tak nie nie nie nie yeah***
Attribute nie nie nie yeah**** nie nie nie nie nie
Text nie nie nie tak tak nie nie nie tak
CDATA nie nie nie tak nie nie nie nie yeah***
Markup** tak nie nie tak nie nie nie nie nie
EntityReference nie nie nie tak tak nie nie nie tak

* Węzeł XmlDeclaration musi być pierwszym elementem podrzędnym węzła Dokument.

** Znaczniki obejmują węzły ProcessingInstruction i Comment.

Węzły elementów i CDATA są dozwolone tylko w węzłach EntityReference, gdy węzeł EntityReference nie jest elementem podrzędnym węzła atrybutu.

Atrybuty nie są elementami podrzędnym węzła elementu. Atrybuty są zawarte w kolekcji atrybutów, która należy do węzła Element.

Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).

Dotyczy

CreateNode(XmlNodeType, String, String, String)

Tworzy obiekt XmlNode o określonej wartości XmlNodeType, , NamePrefixi NamespaceURI.

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

Parametry

type
XmlNodeType

Element XmlNodeType nowego węzła.

prefix
String

Prefiks nowego węzła.

name
String

Nazwa lokalna nowego węzła.

namespaceURI
String

Identyfikator URI przestrzeni nazw nowego węzła.

Zwraca

XmlNode

Nowy XmlNodeelement .

Wyjątki

Nie podano nazwy i XmlNodeType wymaga nazwy.

Przykłady

Poniższy przykład dodaje nowy element do dokumentu.

#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

Uwagi

Mimo że ta metoda tworzy nowy obiekt w kontekście dokumentu, nie dodaje automatycznie nowego obiektu do drzewa dokumentów. Aby dodać nowy obiekt, należy jawnie wywołać jedną z metod wstawiania węzła.

W poniższej tabeli przedstawiono, co element NodeType[wiersz] jest dozwolony wewnątrz innej kolumny NodeType[column] zgodnie z zaleceniem W3C Extensible Markup Language (XML) 1.0.

Dokument Documenttype Xmldeclaration Element Atrybut Tekst CDATA Znaczniki Odwołanie do jednostki
Document nie nie nie nie nie nie nie nie nie
DocumentType tak nie nie nie nie nie nie nie nie
XmlDeclaration Tak* nie nie nie nie nie nie nie nie
Element tak nie nie tak nie nie nie nie tak***
Attribute nie nie nie yeah**** nie nie nie nie nie
Text nie nie nie tak tak nie nie nie tak
CDATA nie nie nie tak nie nie nie nie tak***
Markup** tak nie nie tak nie nie nie nie nie
EntityReference nie nie nie tak tak nie nie nie tak

* Węzeł XmlDeclaration musi być pierwszym elementem podrzędnym węzła Document.

** Znaczniki obejmują węzły ProcessingInstruction i Comment.

Węzły elementów i CDATA są dozwolone tylko w węzłach EntityReference, gdy węzeł EntityReference nie jest elementem podrzędnym węzła Atrybut.

Atrybuty nie są elementami podrzędnym węzła elementu. Atrybuty są zawarte w kolekcji atrybutów, która należy do węzła Element.

Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).

Dotyczy