partendo da un frammento xml presente in una stringa
codice:
<ELENCOFATTURE>
    <FATTURA>5567666</FATTURA>
    <FATTURA>5445512</FATTURA>
    <FATTURA>1200202</FATTURA>
    <FATTURA>9882222</FATTURA>
</ELENCOFATTURE>
dovrei crare un dataset e poi validarlo con uno schema .xsd o in altro modo(verificando che il frammento xml sia conforme a quanto indicato nello schema)

ho trovato molti esempi in rete ma non riesco a ottere quello che voglio in quanto gia quando faccio
myDataSet.ReadXml mi crea il dataset con una tabella di nome "FATTURA" e un campo con nome "FATTURA_Text"(ci aggiunge "_Text" chissa perche)
Mentre io vorrei che Il nome della tabella e del campo abbiano gli stessi nomi dei nodi xml che importo, cioe rispettivamente ELENCOFATTURE e FATTURA


inoltre, non so se ho scritto bene lo schema per validare il frammento xml
codice:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://tempuri.org/ElencoFatture.xsd">
  <xs:element name="ELENCOFATTURE">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="FATTURA" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
e cmq quando applico lo schema mi genera un datset con 3 tabelle(vuote) con i seguenti campi
- element(tabella)
-------element_Id(campo)
-------name(campo)
-------type(campo)
-------sequence_Id(campo)

- complexType(tabella)
-------complexType_Id(campo)

- sequence(tabella)
-------sequence_Id(campo)

questo il codice
codice:
XmlTextReader xmlInput = new XmlTextReader(new StringReader(sXml);
XmlTextReader xmlSchema = new XmlTextReader(new StringReader(sSchema));

dsElencoFatture = new DataSet();
dsElencoFatture.ReadXmlSchema(xmlSchema);
dsElencoFatture.ReadXml(xmlInput,XmlReadMode.ReadSchema);