Avatar billede dyhrberg Nybegynder
10. oktober 2000 - 15:23 Der er 8 kommentarer og
1 løsning

Indsætte XML-data i en SQL70/Access-database

Hvordan indsætter man XML-data i en SQL70 database eller i en Access database ?

F.eks.fra følgende XML-dokument som ligger på en webserver:
<?xml version=\"1.0\"?>

<PROSPECT>
<PROSPECT_ID>75674</PROSPECT_ID>
<CREATEDATE>2000-10-08</CREATEDATE>

</PROSPECT>


Avatar billede lecjas Nybegynder
10. oktober 2000 - 23:35 #1
Du limer fx. et XSL stylesheet på dit XML dokument(hvis du har adgang til webserveren). Hver gang du rammer en interessant node med en template i XSL sheetet, kan du så hælde nodens værdi i db\'en, fra templaten.
Eller du kan parse filen m. fx. saxon, eller xalan og dermed opnå et OO træstruktur, der svarer til XML filen som ligeledes kan manipuleres og herefter gemmes i db.
Avatar billede dyhrberg Nybegynder
11. oktober 2000 - 09:21 #2
Den med XSL-stylesheetet havde jeg regnet ud men hvordan rent kodemæssigt? Hvor henne i XSL-templaten skal jeg kode op mod SQL-databasen, kunne du ikke give mig et eksempel f.eks. hvis jeg ville indsætte de to ovennævte \"Prospect_ID\" og \"CreateDate\" værdier ind i en SQL-database.
Hvordan ville det se ud ?
Avatar billede moykal Nybegynder
14. december 2000 - 14:06 #3
SQL for XML er vist ikke supported før SQL2000, så du skal nok regne med at bruge nogle andre komponenter til DB-access. Hvis du skal gøre det direkte fra script er ADO nok vejen. Kan du ikke bare loade det ind i DOM\'en (hvis data ikke er for stor) og så ellers traversere igennem denne og successivt finde ud af, hvad der skal ske. Og her er ADO rent nemt lige at plugge ind.

moykal
Avatar billede zaknafein Praktikant
08. januar 2001 - 15:38 #4
Du skal loade dit XML-dokument ind i en XML-DOM objekt. Derefter kan du travesere noderne i objektet og putte noderne i DB.
Du kan også loade xml-dokumentet ind i en streng, og så udtrække de data du skal bruge!
Avatar billede zaknafein Praktikant
08. januar 2001 - 15:45 #5
Du behøves ikke bruge et stylesheet til noget som helst!

Set objXML = Server.CreateObject(\"Microsoft.XMLDOM\")
Set objLst = Server.CreateObject(\"Microsoft.XMLDOM\")
objXML.async = False
objXML.Load(\"dinXmlFil.xml\")

Set objLst = objXML.getElementsByTagName(\"*\")
For i = 0 to (objLst.length – 1)
    Str = objLst.item(i).text       
Next

Så har du fx en variabel kaldet \"str\" som indeholder alle data mellem XML Tags!
Du kan jo erstatte Str = objLst.item(i).text  med et normalt INSERT-SQL kald, til din database!!
Avatar billede moykal Nybegynder
08. januar 2001 - 16:49 #6
nemli\'
Avatar billede dyhrberg Nybegynder
10. januar 2001 - 01:23 #7
Zaknafein ! kan du ikke lige \"svare\" så jeg kan give dig nogen point ??? Jeg kan ikke give dig point når du \"kun\" har givet mig en kommentar.

Avatar billede zaknafein Praktikant
10. januar 2001 - 08:39 #8
nåår jo :)
Avatar billede pomfrit Nybegynder
17. januar 2001 - 15:24 #9
www.mobilonline.dk/xml/index.asp

Her er en rapport der omhandler no\'et af det samme. Der er en hovedopgave fra datamatiker-studiet. Håber det kan hjælpe dig.
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
Kurser inden for grundlæggende programmering

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