Recupero di xml ben formato da dataset

giovedì 04 maggio 2006 - 11.55

lucazic Profilo | Newbie

Ciao a tutti,
io ho questo pbm:
devo leggere da dataset un file xml.Per far questo ho fatto:
string strxml = ds.getxml();
Il problema è che io vorrei ottenere un xml well formed, perchè poi ho necessità di estrarre dei nodi.Come posso fare per ottenere in uscita un file del tipo:
<Contratti><IdContratto>numero</IdContratto>....</Contratti>
dal quale poter attraverso una selectsinglenode prendermi il nodo che mi interessa.

lucazic Profilo | Newbie

Magari Marco.
Se scrivo string strxml=ds.getXml();
allora strxml = "<NewDataSet>\r\n <Table>\r\n <XML_F52E2B61-18A1-11d1-B105-00805F49916B>&lt;Contratti&gt;&lt;IdContratto&gt;121&lt;/IdContratto&gt;&lt;SerialNumber&gt;1919&lt;/SerialNumber&gt;&lt;LottiMarche&gt;&lt;IdLotto&gt;1&lt;/IdLotto&gt;&lt;NumMarche&gt;100&lt;/NumMarche&gt;&lt;/LottiMarche&gt;&lt;/Contratti&gt;</XML_F52E2B61-18A1-11d1-B105-00805F49916B>\r\n </Table>\r\n</NewDataSet>"
Questa è l'uscita da: string strxml=ds.getxml();
Invece io vorrei avere una cosa del genere:
string strxml = "<Contratti><IdContratto>94</IdContratto><SerialNumber>3434</SerialNumber><LottiMarche><IdLotto>1</IdLotto><NumMarche>100</NumMarche></LottiMarche></Contratti>";
In questo modo riuscirei a gestire i singoli nodi.
Non so se mi sono spiegato...

lucazic Profilo | Newbie

Marco, io voglio semplicente tirar fuori i valori da IdContratto e da serialnumber. Secondo me sbaglio qualcosa nel dataset.
Ho scritto:
Dataset ds= new Dataset();
da.Fill(ds);
string strxml = ds.GetXml();
XmlDocument oDoc = new XmlDocument();
Xml Node oNode;
oDoc.LoadXml(strxml);
oNode = oXmlDoc.SelectSingleNod("Contratti/IdContratto");
string valorenodo = oNode.InnerText;

Quando eseguo quest'ultima riga di codice, mi da errore poichè vede oNOde vuota.
Tutto questo perchè non vede strxml nel modo giusto.
Help..

lucazic Profilo | Newbie

Continua a darmi oNode=<undefined value> e poi va in Server error
( "Object reference not set to an instance of an object)..

lucazic Profilo | Newbie

Cmq ci sono riuscito abbandonando la strada dataset e intraprendendo quella con xmlreader in quanto cmq richiamavo una store procedure che aveva alla fine una xml auto element.
Quindi era più semplice di quanto prevedevo..

Cmq ringrazio Marco per l'assistenza.
Alla prossima.

freeteo Profilo | Guru

ciao,
puoi anche usare i fogli di stiel xml ovvero gli "xslt" e fare delle cose veramente interessanti con xml per tirati fuori dati o cambiare la forma dell'xml al volo...dacci 1occhiata se hai tempo, sono veramente utilissimi...
cmq se sei riuscito ottimo!!!


ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5