XmlDataDocument.Load Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Carrega o XmlDataDocument
usando a fonte de dados especificada e sincroniza o DataSet com os dados carregados.
Sobrecargas
Load(Stream) |
Carrega o |
Load(TextReader) |
Carrega o |
Load(String) |
Carrega o |
Load(XmlReader) |
Carrega o |
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 é false
que 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.