WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Databaskoppling med ASP i XML fil, hur? (https://www.wn.se/forum/showthread.php?t=13969)

Milad 2006-05-08 10:33

Är det någon som hur man kan lösa följande problem?

Hur gör man om man har en .xml fil och försöker ha en databas koppling med asp i den? Jag vill helt enkelt i slut ändan kunna redigera en del av xml filen via hemsidan. Hmm jag vet inte om jag har gjort mig förstådd men det är bara fråga på om det är några oklarheter.

grazzy 2006-05-08 17:37

Spotta ut Content-Type: text/xml som en header i en vanlig .asp så borde det lösa sig.

Då tolkar webbläsaren filen som en xml-fil trots att den heter .asp.

Robert 2006-05-08 17:59

Milad; är du ute efter att få ut en xml fil där innehållet i xml filen kommer ifrån en databas, som i sin tur har förändrats via en websida (ASP i detta fall)?

Systementor 2006-05-10 09:07

Vilda gissningar på hur du menar :)

Du vill kunna skapa ett recordset mot en XML-fil och sedan kunna köra Update på recordsetet så ska den underliggande XML-filen uppdateras?
Typ
oRS.Open(adFromXml, "c:\\hello.xml")

Nu är det iofs länge sedan jag jobbade mot ADO recordset, men jag tror inte det är möjligt.

Microsoft.XMLDOM är nog det du får köra. Tänk dock på att du får ju ingen "postlåsning" utan du jobbar mot hela filen och sparar ner hela filen tillbaka till disk. Dvs vid flera samtidiga användare måste
du serialisera (en i taget) - kolla på Application.Lock

Vill också bara nämna att denna design i mina ögon är ok om det handlar om ngn enstaka uppdatering - XML-filer ska inte ses som en databas just pga det inte är ngn databas.

(obs: jag vill inte mästra dig, du kan mycket väl ha bra anledningar till denna design)

marty3d 2006-05-10 11:34

Eller är det så att du bara vill connecta till XML-filen som en vanlig databas med ADO och läsa infon? Det är vad jag letar efter att göra :)

Sorry om jag hijackar,
/Martin

Systementor 2006-05-10 21:23

blev intresserad av detta. Du kan tydligen läsa in XML till ett ADO recordset

http://msdn.microsoft.com/library/de...leprovider.asp

Dock ingen aning om/hur en eventuell uppdatering skulle funka = om det skulle vara möjligt med update så tror jag man får se upp med flera samtidiga anv.

Milad 2006-05-11 21:58

Alltså det jag vill göra är det här, låt oss säga att den här är en .xml fil.

<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas.mdb"))
set rs=Server.CreateObject("adodb.recordset")
sql="select * from tabell ORDER BY ID DESC"
rs.Open sql,oConn
%>


<meta http-equiv="Content-Type" content="text/xml;">
<?xml version="1.0" encoding="UTF-8" ?>

<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<location>../songs/<span style='color:orange'><% =rs("text") %>
</location>
</track>
</trackList>
</playlist></span>

<% rs.Close
oConn.Close %>



Även om jag döper om den till .asp fil så funkar det inte. Spelaren klagar på att fel format på spelfilen ovan då.

wiggin 2006-05-12 01:36

Ett enkelt sätt att testa är att öppna den i Internet Explorer och se om de godkänner den. Dock har jag aldrig hört talas om att <meta> skall vara en godkänd tag i xml? Det går nog bättre om du sätter header med asp istället. (Och filen måste vara .asp)

<% Response.ContentType="text/xml" %>

Bjarne 2006-05-12 15:53

Citat:

Originally posted by Milad@May 11 2006, 21:58
Alltså det jag vill göra är det här, låt oss säga att den här är en .xml fil.

<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas.mdb"))
set rs=Server.CreateObject("adodb.recordset")
sql="select * from tabell ORDER BY ID DESC"
rs.Open sql,oConn
%>


<meta http-equiv="Content-Type" content="text/xml;">
<?xml version="1.0" encoding="UTF-8" ?>

<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<location>../songs/<span style='color:orange'><% =rs("text") %>
</location>
</track>
</trackList>
</playlist></span>

<% rs.Close
oConn.Close %>



Även om jag döper om den till .asp fil så funkar det inte. Spelaren klagar på att fel format på spelfilen ovan då.

Gör som grazzy föreslog så blir det precis det du vill ha det.

jonny 2006-05-13 09:15

Du bör kunna få till extensionen .xml också, men då kräver en del pillande direkt på webbservern.

Robert 2006-05-14 14:16

Om din spelare vill ha en xml fil så ska du börja filens innehåll med:
<?xml version="1.0" encoding="UTF-8" ?>

...inte meta taggen som du har nu


Alla tider är GMT +2. Klockan är nu 11:19.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson