Limitazioni delle inferenze (ADO.NET)
Il processo di inferenza di uno schema di un tipo DataSet da un documento XML può fornire come risultato diversi schemi a seconda degli elementi XML presenti in ogni documento. Si considerino ad esempio i seguenti documenti XML:
Document1:
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Document2:
<DocumentElement>
<Element1>Text1</Element1>
</DocumentElement>
Nel caso di "Document1", il processo di inferenza consente di produrre un DataSet denominato "DocumentElement" e una tabella denominata "Element1", poiché "Element1" è un elemento ripetuto.
DataSet: DocumentElement
Table: Element1
Element1_Text |
---|
Text1 |
Text2 |
Tuttavia, nel caso di "Document2", il processo di inferenza consente di produrre un oggetto DataSet denominato "NewDataSet" e una tabella denominata "DocumentElement". "Element1" viene inferito come colonna in quanto privo di attributi o elementi figlio.
DataSet: NewDataSet
Table: DocumentElement
Element1 |
---|
Text1 |
È possibile che lo scopo di tali documenti XML fosse la creazione dello stesso schema, ma il processo di inferenza consente di produrre risultati molto diversi in base agli elementi contenuti in ogni documento.
Per evitare eventuali discrepanze nella generazione di uno schema da un documento XML, si consiglia di specificare esplicitamente uno schema tramite il linguaggio XSD (XML Schema Definition Language) o XDR (XML-Data Reduced) durante il caricamento di un DataSet da XML. Per ulteriori informazioni su come specificare in modo esplicito lo schema di un DataSet con XML Schema, vedere Derivazione della struttura relazionale di un DataSet da XML Schema (XSD).
Vedere anche
Concetti
Caricamento di un DataSet da XML (ADO.NET)
Caricamento delle informazioni relative allo schema di un DataSet da XML (ADO.NET)
Altre risorse
Inferenza della struttura relazionale del DataSet da XML (ADO.NET)