Hej Man ska kanske inte hoppas på att DS-XML alltid ger det man vill ha.. Det finns lite olika alternativ som innefattar att du behöver koda lite :) Enklast kanske är att du skapar ett XmlDataDocument från ditt Dataset och sedan manipulerar du denna XML med AppendChild(), CloneNode(). Eventuellt genom att du jobbar med att skapa ett nytt XmlDocument från noderna du vill åt i ditt XmlDataDoc. Kostar en del minne om du har stora dokument.. Bäst prestanda får du om du loopar genom dina datatabeller manuellt och skriver en fil med XmlTextWriter.TableAdapters med relationer till dataset till XML blir "fel"/osnyggt
Problemet: Jag vill att resultatet från en nästlad tableadapter hamnar i en egen childnode, när jag går från dataset till XML.
Exempel:
i min Dataset-designer gör jag följande:
Skapar dataset dsKundorder.
Skapar i dsKundorder två TableAdapters: KUND med Nested Relation till ORDER.
Kodar lite C#:
dsKundorderTableAdapters.KUNDTableAdapter taK =
new dsKundorderTableAdapters.KUNDTableAdapter();
dsKundorderTableAdapters.taORDERTableAdapter taO =
new dsKundorderTableAdapters.ORDERTableAdapter();
dsKundorder dsKO = new dsKundorder();
int kundid = 193;
taK.Fill(dsKO.KUND, kundid);
taO.Fill(dsKO.ORDER, kundid);
dsKO.WriteXml(@"c:\kundorder.xml");
Filen kundorder.xml:
<?xml version="1.0" standalone="yes" ?>
<dsKO xmlns="http://tempuri.org/dsKO.xsd">
<KUND>
<namn>Greger</namn>
<rabatt>10</rabatt>
<ORDER>
<orderid>23</orderid>
<produkt>Fisk</produkt>
</ORDER>
<ORDER>
<orderid>45</orderid>
<produkt>Tomat</produkt>
</ORDER>
<ORDER>
<orderid>86</orderid>
<produkt>Tejp</produkt>
</ORDER>
</KUND>
</dsKO>
Men det resultatet är jag inte riktigt nöjd med.
Jag vill ju att ORDER ska ligga i en egen childNode som tex heter <orders>.
I skrivande stund kom jag på att jag kan testa med att lägga till en ytteligare tableadapter som heter ORDERS mellan KUND och ORDER, men det känns inte helt akademiskt korrekt.
Jag hoppas ni kan fantisera hur databastabeller och frågor kan tänkas se ut.
/fredrikSv: TableAdapters med relationer till dataset till XML blir "fel"/osnyggt