Compartir vía


XmlDataDocument.Load Método

Definición

Carga XmlDataDocument utilizando el origen de datos especificado y sincroniza DataSet con los datos cargados.

Sobrecargas

Load(Stream)

Carga el objeto XmlDataDocument desde la secuencia especificada.

Load(TextReader)

Carga XmlDataDocument desde el TextReader especificado.

Load(String)

Carga XmlDataDocument utilizando la dirección URL especificada.

Load(XmlReader)

Carga XmlDataDocument desde el XmlReader especificado.

Comentarios

Nota

Para ver los datos XML de forma relacional, primero debe especificar un esquema que se usará para la asignación de datos. Esto se puede hacer llamando al ReadXmlSchema método o creando las tablas y columnas de DataSet forma manual. Este paso debe realizarse antes de llamar a Load.

XmlDataDocument no admite la creación de referencias de entidad. Si los datos incluyen referencias de entidad, el Load método resuelve y expande las referencias de entidad. Sin embargo, si usa la Load sobrecarga que toma un XmlReader como argumento, debe especificar un XmlReader que pueda resolver entidades.

Load(Stream)

Carga el objeto XmlDataDocument desde la secuencia especificada.

public:
 override void Load(System::IO::Stream ^ inStream);
public override void Load (System.IO.Stream inStream);
override this.Load : System.IO.Stream -> unit
Public Overrides Sub Load (inStream As Stream)

Parámetros

inStream
Stream

Secuencia que contiene el documento XML que se va a cargar.

Comentarios

XmlDataDocument no admite la creación de referencias de entidad. Si los datos incluyen referencias de entidad, el Load método resuelve y expande las referencias de entidad.

Nota

Para ver los datos XML de forma relacional, primero debe especificar un esquema que se usará para la asignación de datos. Esto se puede hacer llamando al ReadXmlSchema método o creando las tablas y columnas de DataSet forma manual. Este paso debe realizarse antes de llamar a Load.

Se aplica a

Load(TextReader)

Carga XmlDataDocument desde el TextReader especificado.

public:
 override void Load(System::IO::TextReader ^ txtReader);
public override void Load (System.IO.TextReader txtReader);
override this.Load : System.IO.TextReader -> unit
Public Overrides Sub Load (txtReader As TextReader)

Parámetros

txtReader
TextReader

TextReader que se usa para introducir los datos XML en el documento.

Comentarios

XmlDataDocument no admite la creación de referencias de entidad. Si los datos incluyen referencias de entidad, el Load método resuelve y expande las referencias de entidad.

Nota

Para ver los datos XML de forma relacional, primero debe especificar un esquema que se usará para la asignación de datos. Esto se puede hacer llamando al ReadXmlSchema método o creando las tablas y columnas de DataSet forma manual. Este paso debe realizarse antes de llamar a Load.

Se aplica a

Load(String)

Carga XmlDataDocument utilizando la dirección URL especificada.

public:
 override void Load(System::String ^ filename);
public override void Load (string filename);
override this.Load : string -> unit
Public Overrides Sub Load (filename As String)

Parámetros

filename
String

Dirección URL del archivo que contiene el documento XML que se va a cargar.

Comentarios

XmlDataDocument no admite la creación de referencias de entidad. Si los datos incluyen referencias de entidad, el Load método resuelve y expande las referencias de entidad.

Nota

Para ver los datos XML de forma relacional, primero debe especificar un esquema que se usará para la asignación de datos. Esto se puede hacer llamando al ReadXmlSchema método o creando las tablas y columnas de DataSet forma manual. Este paso debe realizarse antes de llamar a Load.

Se aplica a

Load(XmlReader)

Carga XmlDataDocument desde el XmlReader especificado.

public:
 override void Load(System::Xml::XmlReader ^ reader);
public override void Load (System.Xml.XmlReader reader);
override this.Load : System.Xml.XmlReader -> unit
Public Overrides Sub Load (reader As XmlReader)

Parámetros

reader
XmlReader

XmlReader que contiene el documento XML que se va a cargar.

Excepciones

El documento XML que se está cargando contiene referencias a entidades y el lector no puede resolver entidades.

Ejemplos

En el ejemplo siguiente se modifica el precio de un libro mediante los DataSet métodos .

#using <System.dll>
#using <System.Data.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::Data;
using namespace System::Xml;
int main()
{
   // Create an XmlDataDocument.
   XmlDataDocument^ doc = gcnew XmlDataDocument;

   // Load the schema file.
   doc->DataSet->ReadXmlSchema( "store.xsd" );

   // Load the XML data.
   XmlTextReader^ reader = gcnew XmlTextReader( "2books.xml" );
   reader->MoveToContent(); // Moves the reader to the root node.
   doc->Load( reader );

   // Update the price on the first book using the DataSet methods.
   DataTable^ books = doc->DataSet->Tables["book"];
   books->Rows[0]["price"] = "12.95";
   Console::WriteLine( "Display the modified XML data..." );
   doc->Save( Console::Out );
}
using System;
using System.Data;
using System.Xml;
public class Sample {
    public static void Main() {
        // Create an XmlDataDocument.
        XmlDataDocument doc = new XmlDataDocument();

        // Load the schema file.
        doc.DataSet.ReadXmlSchema("store.xsd");

        // Load the XML data.
        XmlTextReader reader = new XmlTextReader("2books.xml");
        reader.MoveToContent(); // Moves the reader to the root node.
        doc.Load(reader);

        // Update the price on the first book using the DataSet methods.
        DataTable books = doc.DataSet.Tables["book"];
        books.Rows[0]["price"] = "12.95";

        Console.WriteLine("Display the modified XML data...");
        doc.Save(Console.Out);
    }
} // End class
Imports System.Data
Imports System.Xml

public class Sample

  public shared sub Main()

      'Create an XmlDataDocument.
      Dim doc as XmlDataDocument = new XmlDataDocument()

      'Load the schema.
      doc.DataSet.ReadXmlSchema("store.xsd") 
 
      'Load the XML data.
      Dim reader as XmlTextReader = new XmlTextReader("2books.xml")
      reader.MoveToContent() 'Moves the reader to the root node.
      doc.Load(reader)
        
     'Change the price on the first book imports the DataSet methods.
     Dim books as DataTable = doc.DataSet.Tables.Item("book")
     books.Rows.Item(0).Item("price") = "12.95"
        
     Console.WriteLine("Display the modified XML data...")
     doc.Save(Console.Out)

  end sub
end class

En el ejemplo se usan los dos archivos de entrada siguientes.

2books.xml

<!--sample XML fragment-->
<bookstore>
  <book genre='novel' ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <book genre='novel' ISBN='1-861001-57-5'>
    <title>Pride And Prejudice</title>
    <price>24.95</price>
  </book>
</bookstore>

store.xsd

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">

 <xsd:element name="bookstore" type="bookstoreType"/>

 <xsd:complexType name="bookstoreType">
  <xsd:sequence maxOccurs="unbounded">
   <xsd:element name="book"  type="bookType"/>
  </xsd:sequence>
 </xsd:complexType>

 <xsd:complexType name="bookType">
  <xsd:sequence>
   <xsd:element name="title" type="xsd:string"/>
   <xsd:element name="author" type="authorName"/>
   <xsd:element name="price"  type="xsd:decimal"/>
  </xsd:sequence>
  <xsd:attribute name="genre" type="xsd:string"/>
 </xsd:complexType>

 <xsd:complexType name="authorName">
  <xsd:sequence>
   <xsd:element name="first-name"  type="xsd:string"/>
   <xsd:element name="last-name" type="xsd:string"/>
  </xsd:sequence>
 </xsd:complexType>

</xsd:schema>

Comentarios

XmlDataDocument no admite la creación de referencias de entidad. Si el origen de datos contiene referencias de entidad, debe crear un XmlValidatingReader con la EntityHandling propiedad establecida en EntityHandling.ExpandEntities (este es el comportamiento predeterminado) y pasar al Load XmlValidatingReader método . Si no usa un XmlValidatingReader, el Load método produce una excepción.

El Load método siempre conserva un espacio en blanco significativo. La PreserveWhitespace propiedad determina si se conserva o no el espacio en blanco. El valor predeterminado es false, no se conserva el espacio en blanco.

Si el lector está en estado inicial (es decir, ReadState=ReadState.Initial), Load consume todo el contenido del lector y compila el DOM a partir de lo que encuentra.

Si el lector ya está colocado en algún nodo en la profundidad "n", este método carga ese nodo y todos los elementos del mismo nivel posteriores hasta la etiqueta final que cierra la profundidad "n". Esto tiene los siguientes resultados.

Si el nodo actual y sus siguientes elementos del mismo nivel tienen un aspecto similar al siguiente:

<!--comment--><element1>one</element1><element2>two</element2>  

Load produce una excepción, porque un documento no puede tener dos elementos de nivel raíz. Si el nodo actual y sus siguientes elementos del mismo nivel tienen un aspecto similar al siguiente:

<!--comment--><?process  
    instruction?><!--comment--></endtag>  

Load se realizará correctamente; sin embargo, tendrá un árbol DOM incompleto, ya que no hay ningún elemento de nivel raíz. Tiene que agregar un elemento de nivel raíz antes de guardar el documento; de lo contrario, el Save método produce una excepción.

Si el sistema de lectura se encuentra situado en un nodo hoja que no es válido para el nivel raíz de un documento (por ejemplo, un nodo de atributos o espacios en blanco), el sistema de lectura continúa leyendo hasta estar situado en un nodo que se pueda utilizar para el nivel raíz. El documento comienza a cargarse en este punto.

Se aplica a