Vet någon om man kan skapa och fylla ett DataSet utifrån en XML-sträng? Du kan inte använda ReadXml och sedan skicka inte ren XML kod, ReadXml tar ett filnamn till ett Xml dockument och även XmlReader och Stream objekt etc. Ok, det funkade. Men, tyvärr verkar det som att GetXml() rensar bort alla fält som innehåller NULL. Finns det nåt sätt att ändra det beteendet utan att behöva skriva om procedurerna i DB så att de skickar ut en tom sträng (IsNull('', field_value))? Detta fel uppstår för att GetXml metoden inte inkluderar ett schema.Från XML till DataSet
Kan man på något sätt göra följande:
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
ds1 = 'Select * from NågonTabellIDB';
string s = ds1.GetXml();
ds2.ReadXml( /* Här skulle jag villja skicka in värdet av 's' */);
Tack på förhand!
/MathiasSv: Från XML till DataSet
Något likt detta borde även fungera:
<code>
XmlDocument doc = new XmlDocument();
doc.LoadXml(ds1.GetXml());
XmlNodeReader reader = new XmlNodeReader(doc);
ds2.ReadXml(reader);
</code>
Detta är ett annat alternativ:
<code>
string myXmlQuery = "select * from customers FOR XML AUTO, XMLDATA";
SqlCommand myCommand = new SqlCommand(myXmlQuery, myConnection);
myConnection.Open();
System.Xml.XmlReader myXmlReader = myCommand.ExecuteXmlReader();
ds2.ReadXml(XmlReader);
</code>
Tänk på att du kan bara använd Sql Server till att utföra en sql frånga som returnerar en XmlReader. Du måste även i slutet av frågan skriva FOR XML AUTO, XMLDATA.
/Fredrik Normén NSQUARED2
http://www.nsqaured2.netSv: Från XML till DataSet
/MathiasSv: Från XML till DataSet
Istället för att använda GetXml så använd Copy installället, Copy konverterar inte om DataSetet till XML. Om du inte vill använda Copy så måste du skapa ett schema som du läser in.
ds2 = ds1.Copy();
/Fredrik Normén NSQAURED2
http://www.nsquared2.net