webForumDet fria alternativet

Att använda DataSet.ReadXml

.NET

1 svar · 225 visningar · startad av Engine^

Medlem sedan dec. 20003 887 inlägg
Frågan#1

Jag försökte läsa in en xml-fil till ett DataSet genom ovan nämnd metod, men det verkar som om det inte lästes in någonting. Jag hann testa det en gång och då fanns inte

DataSet.Tables[0]

Det tyder jag som att det inte gick speciellt bra att läsa.
Jag använde mig av

DataSet objTables = new DataSet();
XmlTextReader objReader = new XmlTextReader(...);

objTables.ReadXml(objReader, XmlReadMode.IgnoreSchema);

Det här var väldigt snabbt ihopraffsad kod och det jag undrar över är

  • Hur (om det behövs) definierar man ett .xsd utifrån en befintlig .xml?
  • Är XmlTextReader rätt Reader om jag bara vill "kopiera in" xml-filens data i en DataTable?
  • Är jag ute och cyklar?

Sättet jag valde kommer från en tråd aleborg skrev http://www.webforum.nu/showthread.php?s=&postid=734744#post734744

Det är ju lite vanskligt, när man inte jobbat med xml tidigare :)

Medlem sedan nov. 2003569 inlägg
#2

Hur (om det behövs) definierar man ett .xsd utifrån en befintlig .xml?

DataSet theDataSet=DataSet();
theDataSet.ReadXml("filen.xml");
theDataSet.WriteXmlSchema("filen.xsd");

Är XmlTextReader rätt Reader om jag bara vill "kopiera in" xml-filens data i en DataTable?

Det finns både krångliga och enkla sätt att göra det, det enklaste är att använda ett dataset.

DataSet theDataSet=DataSet();
theDataSet.ReadXml("filen.xml");

Och i vilka tabeller datan lägger sig i beror på hur xmlfilen är utformad.

291 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
144 ms — ändringar (db)