Compartilhar via


XmlDataDocument.Load Método

Definição

Carrega o XmlDataDocument usando a fonte de dados especificada e sincroniza o DataSet com os dados carregados.

Sobrecargas

Load(Stream)

Carrega o XmlDataDocument do fluxo especificado.

Load(TextReader)

Carrega o XmlDataDocument do TextReader especificado.

Load(String)

Carrega o XmlDataDocument usando a URL especificada.

Load(XmlReader)

Carrega o XmlDataDocument do XmlReader especificado.

Comentários

Observação

Para exibir os dados XML relacionalmente, primeiro você deve especificar um esquema a ser usado para mapeamento de dados. Isso pode ser feito chamando o ReadXmlSchema método ou criando as tabelas e colunas dentro do DataSet manualmente. Esta etapa deve ser feita antes de chamar Load.

XmlDataDocument não dá suporte à criação de referências de entidade. Se os dados incluirem referências de entidade, o Load método resolverá e expandirá as referências de entidade. No entanto, se você estiver usando a Load sobrecarga que usa um XmlReader argumento como um argumento, deverá especificar um XmlReader que possa resolver entidades.

Load(Stream)

Carrega o XmlDataDocument do fluxo especificado.

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

O fluxo que contém o documento XML a ser carregado.

Comentários

XmlDataDocument não dá suporte à criação de referências de entidade. Se os dados incluirem referências de entidade, o Load método resolverá e expandirá as referências de entidade.

Observação

Para exibir os dados XML relacionalmente, primeiro você deve especificar um esquema a ser usado para mapeamento de dados. Isso pode ser feito chamando o ReadXmlSchema método ou criando as tabelas e colunas dentro do DataSet manualmente. Esta etapa deve ser feita antes de chamar Load.

Aplica-se a

Load(TextReader)

Carrega o XmlDataDocument do 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

O TextReader usado para alimentar os dados XML no documento.

Comentários

XmlDataDocument não dá suporte à criação de referências de entidade. Se os dados incluirem referências de entidade, o Load método resolverá e expandirá quaisquer referências de entidade.

Observação

Para exibir os dados XML relacionalmente, primeiro você deve especificar um esquema a ser usado para mapeamento de dados. Isso pode ser feito chamando o ReadXmlSchema método ou criando tabelas e colunas no DataSet manualmente. Esta etapa deve ser feita antes de chamar Load.

Aplica-se a

Load(String)

Carrega o XmlDataDocument usando a 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

A URL do arquivo que contém o documento XML a ser carregado.

Comentários

XmlDataDocument não dá suporte à criação de referências de entidade. Se os dados incluirem referências de entidade, o Load método resolverá e expandirá quaisquer referências de entidade.

Observação

Para exibir os dados XML relacionalmente, primeiro você deve especificar um esquema a ser usado para mapeamento de dados. Isso pode ser feito chamando o ReadXmlSchema método ou criando tabelas e colunas no DataSet manualmente. Esta etapa deve ser feita antes de chamar Load.

Aplica-se a

Load(XmlReader)

Carrega o XmlDataDocument do 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

O XmlReader que contém o documento XML a ser carregado.

Exceções

O XML que está sendo carregado contém referências a entidades e o leitor não pode resolver entidades.

Exemplos

O exemplo a seguir modifica o preço de um livro usando os 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

O exemplo usa os dois arquivos de entrada a seguir.

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>

Comentários

XmlDataDocument não dá suporte à criação de referências de entidade. Se a fonte de dados contiver referências de entidade, você deverá criar uma XmlValidatingReader propriedade com a EntityHandling propriedade definida como EntityHandling.ExpandEntities (esse é o comportamento padrão) e passar o XmlValidatingReader método para o Load método. Se você não usar um XmlValidatingReader, o Load método gerará uma exceção.

O Load método sempre preserva espaço em branco significativo. A PreserveWhitespace propriedade determina se o espaço em branco é preservado ou não. O padrão é falseque o espaço em branco não é preservado.

Se o leitor estiver no estado inicial (ou seja, ReadState=ReadState.Initial), Load consumirá todo o conteúdo do leitor e criará o DOM com base no que ele encontra.

Se o leitor já estiver posicionado em algum nó em profundidade "n", esse método carregará esse nó e todos os irmãos subsequentes até a marca final que fecha a profundidade "n". Isso tem os seguintes resultados.

Se o nó atual e seus irmãos a seguir forem semelhantes aos seguintes:

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

Load gera uma exceção, porque um documento não pode ter dois elementos de nível raiz. Se o nó atual e seus irmãos a seguir forem semelhantes aos seguintes:

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

Load terá êxito; no entanto, você terá uma árvore DOM incompleta, pois não há nenhum elemento de nível raiz. Você precisa adicionar um elemento de nível raiz antes de salvar o documento; caso contrário, o Save método gera uma exceção.

Se o leitor é posicionado em um nó folha que não é válido para o nível raiz de um documento (por exemplo, um espaço em branco ou um nó de atributo), o leitor continua a ler até que está localizado em um nó que pode ser usado para a raiz. O documento começa a carregar no momento.

Aplica-se a