Deduzione di tabelle
Durante l'inferenza di uno schema per un tipo DataSet da un documento XML, ADO.NET determina innanzitutto quali elementi XML rappresentano tabelle. Le seguenti strutture XML daranno come risultato una tabella per lo schema DataSet.
Elementi con attributi
Elementi con elementi figlio
Elementi ripetuti
Elementi con attributi
Gli elementi in cui sono stati specificati degli attributi daranno come risultato delle tabelle inferite. Ad esempio, si consideri il seguente codice XML:
<DocumentElement>
<Element1 attr1="value1"/>
<Element1 attr1="value2">Text1</Element1>
</DocumentElement>
Il processo di inferenza produce una tabella denominata "Element1".
DataSet: DocumentElement
Table: Element1
attr1 | Element1_Text |
---|---|
value1 | |
value2 | Text1 |
Elementi con elementi figlio
Gli elementi a cui sono associati elementi figlio daranno come risultato delle tabelle inferite. Ad esempio, si consideri il seguente codice XML:
<DocumentElement>
<Element1>
<ChildElement1>Text1</ChildElement1>
</Element1>
</DocumentElement>
Il processo di inferenza produce una tabella denominata "Element1".
DataSet: DocumentElement
Table: Element1
ChildElement1 |
---|
Text1 |
L'elemento del documento, o elemento radice, dà come risultato una tabella inferita nel caso in cui a tale elemento siano associati attributi o elementi figlio che vengono inferiti come colonne. Se all'elemento del documento non sono associati attributi ed elementi figlio da inferire come colonne, tale elemento verrà inferito come DataSet. Ad esempio, si consideri il seguente codice XML:
<DocumentElement>
<Element1>Text1</Element1>
<Element2>Text2</Element2>
</DocumentElement>
Il processo di inferenza produce una tabella denominata "DocumentElement".
DataSet: NewDataSet
Table: DocumentElement
Element1 | Element2 |
---|---|
Text1 | Text2 |
Si consideri in alternativa il seguente elemento XML:
<DocumentElement>
<Element1 attr1="value1" attr2="value2"/>
</DocumentElement>
Il processo di inferenza produce un DataSet denominato "DocumentElement" contenente una tabella denominata "Element1".
DataSet: DocumentElement
Table: Element1
attr1 | attr2 |
---|---|
value1 | value2 |
Elementi ripetuti
Gli elementi ripetuti danno come risultato una singola tabella inferita. Ad esempio, si consideri il seguente codice XML:
<DocumentElement>
<Element1>Text1</Element1>
<Element1>Text2</Element1>
</DocumentElement>
Il processo di inferenza produce una tabella denominata "Element1".
DataSet: DocumentElement
Table: Element1
Element1_Text |
---|
Text1 |
Text2 |