Avatar billede meyer Nybegynder
25. marts 2002 - 14:12 Der er 5 kommentarer og
1 løsning

Fra xml til database?

Hvordan får jeg smidt disse informationer ned i min database??

--------------------------------------------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<feed>
<article>
<provider>xxxxxx</provider>
<category>tele</category>
<date>2002-03-18T09:51:54.698</date>
<updated></updated>
<headline>Vivendi ud af polsk teleselskab</headline>
<article_uid>9888</article_uid>
<summary>Vivendi Universal trækker sig nu fra det polske teleselskab Elektrim Telekomunikacja, der ejer 51 procent af landets førende mobilselskab, PTC.</summary>
<story>Investeringen i Elektrim Telekomunikacja er ikke i overensstemmelse med Vivendis strategi på mellemlangt sigt, siger den fransk-amerikanske mediegigant i en pressemeddelelse.&lt;br&gt;&lt;br&gt;Vivendi Universal vil beholde en minoritetspost i Elektrim Telekomunikacja, men vil på sigt trække sig helt ud af selskabet.</story>
</article>
</feed>
--------------------------------------------------------

Selvfølgelig KUN det der står mellem tags'ne :-)

f.eks. <provider> dette skal i basen i providerfeltet </provider> osv.. osv..
Avatar billede medions Nybegynder
25. marts 2002 - 16:17 #1
Here you go...

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>

    <%
    Dim XMLDoc, rootNode, Visitor, Felt, Counter
    Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM")
    XMLDoc.async = False
    XMLDoc.load(Server.MapPath("xmlfil.xml"))
    Counter = -1
    Set rootNode = XMLDoc.documentElement
    If rootNode.hasChildNodes() then   
            For Each article in rootNode.childNodes
                Counter = Counter + 1
                For Each Felt in article.childNodes
                    If "provider" = Felt.NodeName Then
                              Response.Write "Navn: " & Felt.Text & "<p>"
                    ElseIf "category" = Felt.NodeName Then
                      Response.Write "Kategori: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    ElseIf "date" = Felt.NodeName Then
                      Response.Write "Dato: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    ElseIf "updated" = Felt.NodeName Then
                      Response.Write "Updateret: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    ElseIf "headline" = Felt.NodeName Then
                      Response.Write "Overskrift: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    ElseIf "article_uid" = Felt.NodeName Then
                      Response.Write "Artikel_uid: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    ElseIf "summary" = Felt.NodeName Then
                      Response.Write "Brødtekst: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    ElseIf "story" = Felt.NodeName Then
                      Response.Write "Historien: " & Felt.Text & "<p>" & Chr(13) & Chr(10)
                    End if
                Next
            Next
        Response.Write("<a href='" & Request.QueryString("SCRIPT_NAME") & "?gem=nu'>gem i databasen</a>")
    Else
      Response.Write "Filen er tom."   
    End If

    If Request.QueryString("gem") = "nu" Then
        Set Conn = Server.CreateObject("ADODB.Connection")
        Set rs    = Server.CreateObject("ADODB.Recordset")
            Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database/db.mdb")
            SQL = "SELECT * FROM xmldata"
           
            rs.Open SQL, Conn, 1, 3
            rs.AddNew
            For Each article in rootNode.childNodes
                    Counter = Counter + 1
                    For Each Felt in article.childNodes
                        If "provider" = Felt.NodeName Then
                                    rs("provider")        = Felt.Text
                        ElseIf "category" = Felt.NodeName Then
                                rs("category")        = Felt.Text
                        ElseIf "date" = Felt.NodeName Then
                                rs("date")            = Felt.Text
                        ElseIf "updated" = Felt.NodeName Then
                                rs("updated")        = Felt.Text
                        ElseIf "headline" = Felt.NodeName Then
                                rs("headline")        = Felt.Text
                        ElseIf "article_uid" = Felt.NodeName Then
                                rs("article_uid")        = Felt.Text
                        ElseIf "summary" = Felt.NodeName Then
                                rs("summary")        = Felt.Text
                        ElseIf "story" = Felt.NodeName Then
                                rs("story")            = Felt.Text
                        End if
                    Next
                Next
            rs.Update
    End If
%>

</BODY>
</HTML>

du skal lige omdøbe navnet på xmlfilen og databasefilen til dit eget..!

//>Rune
Avatar billede meyer Nybegynder
26. marts 2002 - 15:46 #2
Den læser fint - men jeg kan ikke få den til at skrive i basen :-)
Avatar billede meyer Nybegynder
26. marts 2002 - 16:01 #3
den kan godt gemme nu - updatet var bare tom så fejlmeldte den.
....hvis der er flere nyheder i modtagelsen gemmer den kun den sidste :-)
Avatar billede medions Nybegynder
27. marts 2002 - 13:26 #4
hmm.. det er jo dig der skal bøvle med det :-) - spørgsmålet lød på hvordan du satte dette ind i din database...! - og det er svaret... ;-)

//>Rune
Avatar billede meyer Nybegynder
27. marts 2002 - 15:14 #5
Ja ja ja - har klaret den  ;-) *GG*
Avatar billede medions Nybegynder
28. marts 2002 - 21:32 #6
*G* fair nok... ;-)

Thx 4 Poinz
//>Rune
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