我把xml嵌入jsp循环产生一条一条的超链,但超链地址都一样,怎样才能从xml中读出超链地址,并循环放到“href”中???
请高手指教!!

解决方案 »

  1.   

    你的JSP页面实际就是个XML对把。不管你怎么做方法都很多啊,最简单用XSL做就是了。
    比如xml文件<root><child>http://xxx</child><child>http://xxx</child></root>
    xsl文件中只要有<xsl:for-each select="/root/child"><xsl:value-of select="child"/></xsl:for-each>
    当然在XML文件头上要加<?xml-stylesheet type='text/xsl' href='XSL文件路径'?>
    会写就看这个页面的源文件。
      

  2.   

    <?xml version="1.0" encoding="GB2312"?>
    <?xml-stylesheet type='text/xsl' href='/expert/Xsl/2.xsl'?>
    <Topic>
    <Issue>
    <PostUserNickName></PostUserNickName>
    <rank>一级(初级)</rank>
    <ranknum>user1</ranknum>
    <credit>       100</credit>
    <TopicId>   5204193</TopicId>
    <TopicName>待高手解答:xml嵌入jsp页面的问题!!!!!!!!!!</TopicName>
    <PostUserId>1530166</PostUserId>
    <PostUserName>ran_ran</PostUserName>
    <RoomName>Java Web 开发</RoomName>
    <ReplyNum>1</ReplyNum>
    <PostDateTime>2006-12-04 10:17:01</PostDateTime>
    <Point>100</Point>
    <ReadNum>0</ReadNum>
    <RoomId>5409</RoomId>
    <EndState>0</EndState>
    <Content>我把xml嵌入jsp循环产生一条一条的超链,但超链地址都一样,怎样才能从xml中读出超链地址,并循环放到“href”中???
    请高手指教!!
    </Content>
    </Issue>
    <Replys>
    <Reply><PostUserNickName>旅行中の狗</PostUserNickName><rank>一级(初级)</rank><ranknum>user1</ranknum><credit>100</credit><ReplyID>38185010</ReplyID><TopicID>5204193</TopicID><PostUserId>1078375</PostUserId><PostUserName>bbqqfdl</PostUserName><Point>0</Point><Content>你的JSP页面实际就是个XML对把。不管你怎么做方法都很多啊,最简单用XSL做就是了。
    比如xml文件&lt;root&gt;&lt;child&gt;http://xxx&lt;/child&gt;&lt;child&gt;http://xxx&lt;/child&gt;&lt;/root&gt;
    xsl文件中只要有&lt;xsl:for-each select="/root/child"&gt;&lt;xsl:value-of select="child"/&gt;&lt;/xsl:for-each&gt;
    当然在XML文件头上要加&lt;?xml-stylesheet type='text/xsl' href='XSL文件路径'?&gt;
    会写就看这个页面的源文件。</Content><PostDateTime>2006-12-04 12:41:32</PostDateTime></Reply></Replys>
    </Topic>
      

  3.   

    用<xsl>解析xml
    ....................................在JSP里:
    <xml id="stylesheet_local">
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/root">
    <table border="1" style="border-collapse: collapse" width="100%">
    <tr height="25">
        <td align="center" bgcolor="#FFCC99" nowrap="true">ID</td>
                                    <td align="center" bgcolor="#FFCC99" nowrap="true">姓名</td>
                                </tr>
                                <xsl:for-each select="./row">
                                <tr>
                                    <td align="center"> <xsl:value-of select="./@recordId" /> </td>
                                    <td align="center"> <xsl:value-of select="./@personName" /> </td>
                                    <td align="center">
                         <xsl:choose>
                         <xsl:when test="./@diNumber = ''">
                                    未知
                         </xsl:when>
                         <xsl:otherwise>
                                    <a target="_blank">
                                 <xsl:attribute name="href">
                             WorkCenter/Customer.jsp?dialNumber=<xsl:value-of select="./@diNumber" />&amp;areaNumber=<xsl:value-of select="./@arNumber" />&amp;phoneNumber=<xsl:value-of select="./@phNumber" />
                         </xsl:attribute>
                                        <xsl:value-of select="./@diNumber" /> </a>
                         </xsl:otherwise>
                         </xsl:choose>
                        </td>
                     </tr>
      </xsl:for-each>
    </table>
    </xsl:template>
    </xsl:stylesheet>
    </xml><div id="display" align="center"></div>
    ..................................<script language="javaScript">
        /*  **********  加载已经导出的XML文件 *******/
        var xml = new ActiveXObject("Microsoft.XMLDOM");
        xml.async = false;
        xml.load("/dd/Report1.xml");    
                  window.display.innerHTML = xml.transformNode(stylesheet_local);</script>
      

  4.   

    <xml id="stylesheet_local">
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/root">
    <table border="1" style="border-collapse: collapse" width="100%">
    <tr height="25">
        <td align="center" bgcolor="#FFCC99" nowrap="true">ID</td>
                                    <td align="center" bgcolor="#FFCC99" nowrap="true">姓名</td>
                                </tr>
                                <xsl:for-each select="./row">
                                <tr>
                                    <td align="center"> <xsl:value-of select="./@recordId" /> </td>
                                    <td align="center"> <xsl:value-of select="./@personName" /> </td>
                                    <td align="center">
                         <xsl:choose>
                         <xsl:when test="./@diNumber = ''">
                                    未知
                         </xsl:when>
                         <xsl:otherwise>
                                    <a target="_blank">
                                 <xsl:attribute name="href">
                             WorkCenter/Customer.jsp?dialNumber=<xsl:value-of select="./@diNumber" />&amp;areaNumber=<xsl:value-of select="./@arNumber" />&amp;phoneNumber=<xsl:value-of select="./@phNumber" />
                         </xsl:attribute>
                                        <xsl:value-of select="./@diNumber" /> </a>
                         </xsl:otherwise>
                         </xsl:choose>
                        </td>
                     </tr>
      </xsl:for-each>
    </table>
    </xsl:template>
    </xsl:stylesheet>
    </xml><div id="display" align="center"></div>
      

  5.   

    如何将这些xml代码放到一个jsp或html的table中?
    <?xml version="1.0" encoding="UTF-8"?>
    <down>
      <down_id id="8">
        <down_name_address>
          <a id="0" href="ftp://localhost/down/bianchengkaifa/93470.gif">93470.gif      </a>
        </down_name_address>
      </down_id>
      <down_id id="7">
        <down_name_address>
          <a id="1" href="ftp://localhost/down/bianchengkaifa/书城1.rar">书城1.rar      </a>
        </down_name_address>
      </down_id>
      <down_id id="6">
        <down_name_address>
          <a id="2" href="ftp://localhost/down/bianchengkaifa/计时器.exe">计时器.exe      </a>
        </down_name_address>
      </down_id>
      <down_id id="5">
        <down_name_address>
          <a id="3" href="ftp://localhost/down/bianchengkaifa/书城1.rar">书城1.rar      </a>
        </down_name_address>
      </down_id>
    </down>
      

  6.   

    你的例子太繁琐了,请结合和我的例子讲讲,谢谢!
    何别要指出的我的问题是:我已经将xml文件中的内容读到页面中,但超链不能用,请帮帮忙!!
    谢谢了
      

  7.   

    我真的不知
      <down_id id="8">
        <down_name_address>
          <a id="0" href="ftp://localhost/down/bianchengkaifa/93470.gif">93470.gif </a>
        </down_name_address>
      </down_id>
    也可以解析出来的?? 如果有高手我倒是看看.别人也是这样提这样的问题的,你可以看一下。
    http://bbs.w3china.org/dispbbs.asp?boardid=1&id=13369
      

  8.   

    <down_id id="8">
        <down_name_address>
          <a id="0" href="ftp://localhost/down/bianchengkaifa/93470.gif">93470.gif </a>
        </down_name_address>
      </down_id>
    中的
    <a id="0" href="ftp://localhost/down/bianchengkaifa/93470.gif">93470.gif </a>
    在页面解析出来还是
    <a id="0" href="ftp://localhost/down/bianchengkaifa/93470.gif">93470.gif </a>
    我想让它形成超链
    怎么办呢?
      

  9.   

    <down_id id="8">
        <down_name_address>
          <url>93470.gif<upl>
        </down_name_address>
    </down_id>再用xsl解析, 自已试试看,再参考例子
    ...........
    <a target="_blank">
    <xsl:attribute name="href">ftp://localhost/down/bianchengkaifa/<xsl:value-of select="./@url" /></xsl:attribute>
    </a>
    ...........
      

  10.   

    我做出来了,用了SQL for xml的格式,我不用FTP,直接连接的,如果不合你的意你可以改一下。test.xml:
    <?xml version="1.0" encoding="gb2312" ?>
    <root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
    <down_id id="8" url="93470.gif"/><down_id id="7" url="书城1.rar"/><down_id id="6" url="计时器.exe"/><down_id id="5" url="书城1.rar"/>
    </root>test.jsp<%@page contentType="text/html;charset=gb2312" %>
    <%@page language="java" %>
    <%@page import="java.util.*"%><form name="thisForm" method="post" onSubmit="submitIt();return false;">
       <OBJECT id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0"></OBJECT><form name="thisForm" method="post" onSubmit="submitIt();return false;">
       <OBJECT id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0"></OBJECT>  <table border="0" cellpadding="0" cellspacing="0" width="100%" >
        <tr>
      <td width="100%" nowrap>
    <input type="button" name="submitIt2" value=" 查询 " onClick="submitIt();">
          </td>
        </tr>
      </table>
    </form>
     <XML id='stylesheet_local'>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:myxsl="http://www.test.com" version="1.0">
    <xsl:template match="/root">

    <table border="1" style="border-collapse: collapse" width="100%">
    <tr height="25">
    <td align="center" bgcolor="#FFCC99" nowrap="true">ID</td>
    <td align="center" bgcolor="#FFCC99" nowrap="true">URL</td>
    </tr>
    <xsl:for-each select="./down_id">
    <tr>
    <td align="center"> <xsl:value-of select="./@id" /> </td>
    <td align="center">
    <xsl:choose>
    <xsl:when test="./@url = ''">
    未知
    </xsl:when>
    <xsl:otherwise>
    <a target="_blank">
    <xsl:attribute name="href">
    /down/bianchengkaifa/xml/<xsl:value-of select="./@url" />
    </xsl:attribute>
    <xsl:value-of select="./@url" />
    </a>
    </xsl:otherwise>
    </xsl:choose>
    </td>
    </tr>
    </xsl:for-each>
    </table>
    </xsl:template>
    </xsl:stylesheet>
    </XML>
    <!--  定义一个层 -->
    <div id="displayArea"></div> <script language="javaScript">
        function submitIt()
    {   
        var xml = new ActiveXObject("Microsoft.XMLDOM");
        xml.async = false;
        xml.load("/down/bianchengkaifa/xml/test.xml");
    window.displayArea.innerHTML = xml.transformNode(stylesheet_local);
    }
    </script>
      

  11.   

    感谢 jackson416 你将得到问题分数100点!谢谢