Partilhar via


Limitações de inferência

O processo de inferir um DataSet esquema a partir de XML pode resultar em esquemas diferentes, dependendo dos elementos XML em cada documento. Por exemplo, considere os seguintes documentos XML.

Documento1:

<DocumentElement>  
  <Element1>Text1</Element1>  
  <Element1>Text2</Element1>  
</DocumentElement>  

Documento2:

<DocumentElement>  
  <Element1>Text1</Element1>  
</DocumentElement>  

Para "Document1", o processo de inferência produz um DataSet chamado "DocumentElement" e uma tabela chamada "Element1", porque "Element1" é um elemento repetitivo.

DataSet: DocumentElement

Tabela: Element1

Element1_Text
Texto1
Texto2

No entanto, para "Document2", o processo de inferência produz um DataSet chamado "NewDataSet" e uma tabela chamada "DocumentElement". "Element1" é inferido como uma coluna porque não tem atributos nem elementos filho.

DataSet: NewDataSet

Tabela: DocumentElement

Elemento1
Texto1

Esses dois documentos XML podem ter sido destinados a produzir o mesmo esquema, mas o processo de inferência produz resultados muito diferentes com base nos elementos contidos em cada documento.

Para evitar as discrepâncias que podem ocorrer ao gerar esquema a partir de um documento XML, recomendamos que você especifique explicitamente um esquema usando XSD (XML Schema Definition Language) ou XDR (XML-Data Reduced - XML) ao carregar um DataSet a partir de XML. Para obter mais informações sobre como especificar explicitamente um esquema DataSet com esquema XML, consulte Deriving DataSet Relational Structure from XML Schema (XSD).

Consulte também