Avatar billede ameq Nybegynder
11. april 2006 - 19:12 Der er 10 kommentarer og
1 løsning

Xml og dataset

Jeg laver en "xml fil" ud fra mit dataset som jeg har hente ud fra min database (northwind/orders) ved hjælp af en SqlDataAdapter
men når jeg udskriver mit xml så kommer der til at stå NewDataSet også selv om jeg har angivet et navn for dataset.
<?xml version="1.0" encoding="utf-8" ?>
<NewDataSet>
<Orders>
Avatar billede rasserw Nybegynder
11. april 2006 - 23:28 #1
Hej,

Du kan lave dit eget skema udfra dit dataset, hvorefter du benytter det efter en lille manipulation.

Start med at lave et Skema til senere brug:

            DataSet myDs = GetData(); // metode som loader data
                     
            // Angiv et fint navn
            myFs = new FileStream("E:/WhatEverNavn_Schema.xml",
            FileMode.OpenOrCreate,
            FileAccess.Write);
            myDs.WriteXmlSchema(myFs);
            myFs.Close();

Nu har du dit eget skema, baseret på dit eget dataset's struktur. Det skal lige rettes til, så åben det, ret der hvor der står NewDataSet til det som du ønsker og gem det. (root??)

Alt ovenstående gøres jo kun een gang.

Herefter loader du det ind i dine dataset:

DataSet myDs = GetData();
            myDs.ReadXmlSchema("E:/WhatEverNavn_Schema.xml");
            Console.WriteLine(myDs.GetXml());

Der er sikkert flere måder, men denne er da et alternativ.

Venligst

Arne Johansen
www.frameworker.net
Avatar billede ameq Nybegynder
12. april 2006 - 06:52 #2
Jeg ønsker ikke at bruge et skema hvis jeg kan udgår det, og da slet ikke hvis jeg selv ind og rette det. Men hvor kommer "NewDateSet" fra?
Avatar billede rasserw Nybegynder
12. april 2006 - 11:33 #3
Jeg tror ikke at du slipper, da frameworket benytter et default skema til DataSets og tror ikke det kan overrides på anden måde end at pege på eget skema, men hvad er problemet med at gøre det, udover at skemaet naturligvis afspejler dit indhold i dataset her og nu og er derfor ikke så generisk.

Venligst

Arne Johansen
www.frameworker.net
Avatar billede ameq Nybegynder
12. april 2006 - 13:12 #4
Fordi jeg ikke ved hvad mit indhold er (lige nu "select * from orders"), men kunne man lave det der skema run time? for det ville løste en del af mine problemer
Avatar billede rasserw Nybegynder
12. april 2006 - 14:11 #5
Hej igen,
tænkte lige om denne ikke kunne gøre det lidt nemmere:


        DataSet myDs = GetData();
        myDs.GetXml().Replace("NewDataSet", "DinTekstHer");

Den er utestet, men det er jo bare en string og der kan du lave en replace på med det samme. Så slipper du helt for skema, da det er overkill, idet at det blot er et nodenavn som skal ændres. Håber det virker.

Venligst
Arne Johansen
www.frameworker.net
Avatar billede ameq Nybegynder
12. april 2006 - 18:41 #6
ja det ville nok virker eller smide det over i en stringbuilder
Avatar billede ameq Nybegynder
22. april 2006 - 09:29 #7
men kommer du med et svar?
Avatar billede rasserw Nybegynder
22. april 2006 - 12:05 #8
jeps!
Avatar billede ameq Nybegynder
23. april 2006 - 19:27 #9
så skal du også svar =) he
Avatar billede ameq Nybegynder
05. maj 2006 - 16:46 #10
så kom med et =)
Avatar billede rasserw Nybegynder
05. maj 2006 - 19:43 #11
her er det så...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester