Avatar billede neoo Nybegynder
11. marts 2004 - 01:06 Der er 2 kommentarer og
1 løsning

link i xml, dataisland.

hej.


jeg er igang med at lave en xml fil:

<user-menu>
<make-booking>Opret booking </make-booking>
 
<show-bookings>Vis booking oversigt</show-bookings>
<customer-information>Kunde informationer</customer-information>
</user-menu>



mine asp sider skal generere menu udfra dette xml fil( data island), men da er det problem = hvordan kan jeg få link i det enkelte tags. således at når de kommer over til asp siden så skal de hvad linkne klar ?

et eks. <show-bookings>Vis booking oversigt</show-bookings>
hvordan kan jeg få denne til at linke til et bestemt side når den er kommet over i asp.
Avatar billede nute Nybegynder
11. marts 2004 - 08:43 #1
du skal (bør) bruge xsl til dette ... men jeg ville have lavet det lidt anderledes:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<user-menu>
    <menuitem url="http://www.blabla.dk/opretbooking.asp">Opret booking </menuitem>
    <menuitem url="http://www.blabla.dk/showbooking.asp">Vis booking oversigt</menuitem>
    <menuitem url="http://www.blabla.dk/customerinfo.asp">Kunde informationer</menuitem>
</user-menu>

XSL:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="/">
        <html>
            <head>
                <title></title>
            </head>
            <body>
                <ul>
                <xsl:apply-templates />
                </ul>
            </body>
        </html>
    </xsl:template>
   
    <xsl:template  match="menuitem">
        <li>
            <a>
                <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
                <xsl:value-of select="."/>
            </a>
        </li>
    </xsl:template>
</xsl:stylesheet>

nu har du godt nok bedt om at få det lavet i ASP ... hvorfor poster du så ikke spm'et i ASP kategorien ?

anyway ... hvis du ikke ønsker at bruge XSL (som er den nemmeste måde at behandle XML på), så kan ud jo lave følgende ASP:

<%@ language="VBScript" %>
<%
Dim objXMLDom : Set objXMLDom = Server.CreateObject( "MSXML2.DOMDocument" )
objXMLDom.load( Server.MapPath( "fil.xml" ) )

response.write( "<ul>" )
Set objNode = objXMLDom.selectSingleNode( "/user-menu/make-booking" )
response.write( "<li><a href=""makebooking.asp"">" & objNode.text & "</a>" )
Set objNode = objXMLDom.selectSingleNode( "/user-menu/show-bookings" )
response.write( "<li><a href=""showbooking.asp"">" & objNode.text & "</a>" )
Set objNode = objXMLDom.selectSingleNode( "/user-menu/customer-information" )
response.write( "<li><a href=""customerinfo.asp"">" & objNode.text & "</a>" )
response.write( "</ul>" )
%>

Men ... det klart bedste ville være at bruge en XSL approach

/nute
Avatar billede neoo Nybegynder
11. marts 2004 - 14:26 #2
jeg har brugt følgende kode for at udtrække fra mit xml men det med menuitem der er jeg lidt usikre, da jeg læser således.

<html>
<body>

<xml id="user-menu" src="xml-menu.xml"></xml>

<table border="1" datasrc="#xml-menu.xml">
<tr>
<td><span datafld="menuitem"></span></td>
<td><span datafld="Opret booking"></span></td>
</tr>
</table>

</body>
</html>




men hvorfor anbefaler du xsl frem for xml ?
Avatar billede nute Nybegynder
11. marts 2004 - 14:38 #3
ah .. .så skal du gøre sådan:


<html>
<body>

<xml id="user-menu" src="xml-menu.xml"></xml>

<table border="1" datasrc="#user-menu">
<tr>
<td><a href="opretbooking.htm"><span datafld="make-booking"></span></a></td>
<td><a href="showbooking.htm"><span datafld="show-bookings"></span></a></td>
<td><a href="customerinfo.htm"><span datafld="customer-information"></span></a></td>
</tr>
</table>

</body>
</html>

hvorfor xsl ?
- det er browser uafhængigt (i forhold til dataisland som kun fungere i IE)
- xsl er lavet netop for at omdanne (transformere) XML til præsentation

to meget gode grunde til at bruge det ;-)

det du prøver på her, fungere ikke engang i Mozilla .. ellers den mest oppegående af de moderne browsere ;o]

/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