Avatar billede s_raagaard Nybegynder
08. marts 2001 - 00:23 Der er 5 kommentarer og
1 løsning

Vise xml v.h.a. Microsoft.XMLDOM

Jeg kalder min xml således:

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

Her efter vil jeg gerne \"loope\" igennem filen og udskrive <TagNavn AtributNavn> samt indhold/værdier af samme, gerne i VB-script/asp:

Avatar billede getalife Nybegynder
08. marts 2001 - 01:02 #1
Du kan bruge XSL hvis du vil.
Skal jeg lave en fil til dig?
Avatar billede getalife Nybegynder
08. marts 2001 - 01:15 #2
XML:

<?xml version=\"1.0\" encoding=\"ISO8859-1\" ?>
<liste>
    <cat link=\"testlink1\">Test1</cat>
    <cat link=\"testlink2\">Test2</cat>
    <cat link=\"testlink3\">Test3</cat>
    <cat link=\"testlink4\">Test4</cat>
    <cat link=\"testlink5\">Test5</cat>
    <cat link=\"testlink6\">Test6</cat>
    <cat link=\"testlink7\">Test7</cat>
    <cat link=\"testlink8\">Test8</cat>
</liste>

XSL:
<?xml version=\'1.0\' encoding=\"ISO-8859-1\"?>
<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/TR/WD-xsl\">
<xsl:template match=\"/\">
<html>
<head>
<title>test</title>
</head>
<body bgcolor=\"#ffffff\" topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">

<xsl:for-each select=\"/liste/cat\">
    <xsl:value-of select=\".\"/><br/>
    <xsl:value-of select=\"@link\"/><br/>
</xsl:for-each>

</body>
</html>
</xsl:template>
</xsl:stylesheet>

ASP:
<%

\' Responde to request
  \'Load the XML
  set xml = Server.CreateObject(\"Microsoft.XMLDOM\")
  xml.async = false
  xml.load(Server.MapPath(\"test.xml\"))

  \'Load the XSL
  set xsl = Server.CreateObject(\"Microsoft.XMLDOM\")
  xsl.validateOnParse = false
  xsl.async = false
  xsl.load(Server.MapPath(\"test.xsl\"))

\'Transform the file
  Response.Write(xml.transformNode(xsl))
%>
Avatar billede getalife Nybegynder
09. marts 2001 - 11:58 #3
Kunne du bruge det?
Avatar billede getalife Nybegynder
09. marts 2001 - 12:17 #4
Uhm.. hvis du bare skal have udskrevet filen:

<%Option Explicit%>
<%Response.Expires = -1%>
<%
Const VIRTUEL_MAPPE = \"../prog/xml/\"
Const FILE_READ = 1, FILE_WRITE = 2
Dim action,retVal

action = Request(\"action\")
Select Case action
Case \" Vis indhold af filen \"
    retVal = Request(\"target_file\")
    Response.Write \"<p><font face=\'verdana\' color=\'#000033\' size=\'1\'><b>Indholdet af: \" & retVal & \"</b></p><p>\" & Replace(Replace(Server.HTMLEncode(LoadFile(retVal)),vbCrLf,\"<br>\"),\" \",\"&nbsp;\") & \"</font></p>\"
End Select
%>
<html>
<head>
    <title>Læs XML fil</title>
</head>
<body>
<table border=\"2\" cellspacing=\"0\" cellpadding=\"0\">
<form action=\"http://<%=Request.ServerVariables(\"SERVER_NAME\")%><%=Request.ServerVariables(\"URL\")%>\" method=\"post\">
<tr>
    <td>Vælg den fil der skal læses</td>
    <td align=\'right\'>
        <%
        If Left(VIRTUEL_MAPPE,1) = \"!\" Then
            Response.Write ListFiles(Mid(VIRTUEL_MAPPE,2))
        Else
            Response.Write ListFiles(Server.MapPath(VIRTUEL_MAPPE))
        End If
        %>
    </td>
</tr>
<tr>
    <td align=\'right\' colspan=\"2\"><input type=\"submit\" name=\"action\" value=\" Vis indhold af filen \"></td>
</tr>
</table>
</form>
</body>
</html>

<%
Function LoadFile(Path)
    Dim fso,fil \' FileSystemObject, File
    Set fso = Server.CreateObject(\"Scripting.FileSystemObject\")
    \' Indlæs indholdet af filen
    Set fil = fso.OpenTextFile(Path, FILE_READ)
    LoadFile = fil.ReadAll
    fil.Close   
    \' Roomservice (Ryd op i brugte objekter)
    Set fil = Nothing
    Set fso = Nothing   
End Function


Function ListFiles(Path)
    Dim fso,fo,fi \' FileSystemObject, Folder og File
    Set fso = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set fo = fso.GetFolder(Path)
    ListFiles = \"<select name=\'target_file\' size=\'1\'>\" & vbCrLf
    For Each fi In fo.Files
        If LCase(Right(fi.name,3)) = \"xml\" Then ListFiles = ListFiles & String(3,Chr(9)) & \"<option value=\'\" & fi.path & \"\'>\" & fi.name & \"</option>\" & vbCrLf
    Next
    ListFiles = ListFiles & String(2,Chr(9)) & \"</select>\"
    \' Roomservice (Ryd op i brugte objekter)
    Set fi = Nothing
    Set fo = Nothing
    Set fso = Nothing
End Function
%>
Avatar billede s_raagaard Nybegynder
09. marts 2001 - 12:20 #5
Ja, for søren....undskyld jeg ikke lige fik svaret, men jeg sidder dybt begravet i det nu.....det er meget meget tjekket, og jeg siger mange tak....

/søren
Avatar billede getalife Nybegynder
09. marts 2001 - 12:22 #6
heh, well.. var så lidt
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