Condividi tramite


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

Vedi anche