25. marts 2002 - 14:12Der 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.<br><br>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..
<% 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..!
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.