Avatar billede tknudsen Nybegynder
20. september 2001 - 18:20 Der er 12 kommentarer og
1 løsning

ado forbindelse til xml data source

Hvordan opretter jeg en ado fobindelse til en xml fil ?

Menningen er at jeg kan bruge et alm ADODB.Recordset objekt til at lave forespørgelser i xml filen.
Avatar billede nute Nybegynder
20. september 2001 - 18:40 #1
du er nødt til å laste ned MSXML parseren:

http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/596/msdncompositedoc.xml

(service pack 1):
http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/591/msdncompositedoc.xml

så kan du gjøre sånn:

<%@ language=\"VBScript\" %>
<%
Dim xmlObject, xslObject
Set xmlObject = Server.CreateObject(\"MSXML2.DOMDocument\")
Set xslObject = Server.CreateObject(\"MSXML2.DOMDocument\")


xmlObject.load( Server.MapPath(\"index.xml\") )

xslObject.load( Server.MapPath(\"index.xslt\") )

Response.Write( xmlObject.transformNode(xslObject) );
%>

/nute
Avatar billede tknudsen Nybegynder
20. september 2001 - 18:54 #2
giver det mulighed for at lave forespørgelser i xml dokumentet ?
Avatar billede nute Nybegynder
20. september 2001 - 19:02 #3
så kan du benytte noen av metodene her:

http://msdn.microsoft.com/library/en-us/xmlsdk30/htm/xmmscxmldommethods.asp?frame=true

for å navigere deg frem og tilbake i dokumentet

hele referansen til XML-DOM kan du finne her:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmmscxmlreference.asp

/nute
Avatar billede tknudsen Nybegynder
20. september 2001 - 19:29 #4
nute >> er det noget du har erfaring med ? JEg er helt på bar bund.
Avatar billede nute Nybegynder
20. september 2001 - 19:33 #5
ja...endel erfaring...hva skal du bruke ?
Avatar billede tknudsen Nybegynder
20. september 2001 - 19:33 #6
xmlfilen indeholder en (såkaldt) komplex struktur - dvs nestede elementer
Avatar billede nute Nybegynder
20. september 2001 - 19:35 #7
og.....????? (det gjør det da som regel...)

hvordan ser en node ut (som inneholder subnoder) hvilken node er det du leter etter ? HVa skal du gjøre med det ?

Jeg kan ikke hjelpe deg hvis du ikke forteller litt mer om ditt problem
Avatar billede tknudsen Nybegynder
20. september 2001 - 19:38 #8
strukturen er baseret på følgende dtd:

<!ELEMENT resources(server)>
<!ELEMENT server(ip,share,album)>
<!ELEMENT ip (#PCDATA)>
<!ELEMENT share (#PCDATA)>
<!ELEMENT album(artist,title,track)>
<!ELEMENT artist (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT track(title,idx,path)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT idx (#PCDATA)>
<!ELEMENT path (#PCDATA)>


derfra vil jeg gerne kunne gøre 2 ting:

1) liste div albums - evt efter en alfabetisk sortering
2) sætte et filter op i listen - feks på album.title (?)

Avatar billede nute Nybegynder
20. september 2001 - 19:40 #9
det enkleste er fakstisk å gjøre dette gjennom ditt xslt. Der kan du både sortere og filtrere...
Avatar billede tknudsen Nybegynder
20. september 2001 - 19:45 #10
hehe - jeg sidder faktisk netop og \"studerer\" xslt på w3schools.com

har du nogle fif ?
Avatar billede nute Nybegynder
20. september 2001 - 19:54 #11
denne her er ok....

http://builder.cnet.com/webbuilding/0-3882-8-7033236-2.html?tag=st.bl.3882-8-7033236-6.txt.3882-8-7033236-2

en enkel gjennomgang av XSLT sine muligheter sammen med XPath...

Avatar billede tknudsen Nybegynder
20. september 2001 - 19:57 #12
ahaa - er kommet til <xsl:for-each select=\"CATALOG/CD\" order-by=\"+ ARTIST\">

så jeg har lige et spørgsmål:

kan jeg tilgå xls queryen via asp ?
Avatar billede nute Nybegynder
20. september 2001 - 20:05 #13
du kan overføre parameter til ditt xslt på denne måte:

<% option explicit %>
<%
Dim indexChar, xmlPath, xslPath
Dim xml, xsl, xslt, xslProc

xmlPath = \"index.xml\"
xslPath = \"index.xslt\"
indexChar = request.querystring(\"indexChar\")

\'LOAD THE XSL
\'************
set xsl = Server.CreateObject(\"Msxml2.FreeThreadedDOMDocument.3.0\")
    xsl.async = false
    xsl.load(Server.MapPath(xslPath))

\'LOAD THE XML
\'************
set xml = Server.CreateObject(\"MSXML2.DOMDocument.3.0\")
    xml.async = false
    xml.load(Server.MapPath(xmlPath))

\'MAKE TEMPOARY TEMPLATE YOU CAN EDIT
\'***********************************
set xslt = Server.CreateObject(\"Msxml2.XSLTemplate.3.0\")
xslt.stylesheet = xsl

\'TRANSFORM THE FILES
\'*******************
set xslProc = xslt.createProcessor()
xslProc.input = xml
xslProc.addParameter \"param1\", \"parameter nummer 1\"
xslProc.addParameter \"param2\", \"parameter nummer 2\"
xslProc.transform()

\'WRITE OUT THE RESULT
\'********************
Response.Write(xslProc.output)
%>

og disse tar du imot på denne måte:

<xsl:param name=\"param1\"></xsl:param>
<xsl:param name=\"param2\"></xsl:param>

og henter verdien ved å skrive $param1/$param2 i ditt stylesheet...fx:

<p>Dette er verdi av param1 <xsl:value-of select=\"$param1\"/><br>
Dette er verdi av param2 <xsl:value-of select=\"$param2\"/></p>

/nute
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