编程论坛's Archiver

log 发表于 2007-6-14 10:48

[求助]xpath出错

<P>XML文件为<BR>&lt;?xml version="1.0" encoding="gb2312"?&gt;<BR>&lt;?xml-stylesheet type="text/xsl" href="text.xsl"?&gt;<BR>&lt;roster&gt;<BR>    &lt;student ID="101"&gt;<BR>        &lt;name&gt;李华&lt;/name&gt;<BR>        &lt;sex&gt;男&lt;/sex&gt;<BR>        &lt;birthday&gt;1978.9.12&lt;/birthday&gt;<BR>        &lt;score&gt;92&lt;/score&gt;<BR>        &lt;skill&gt;Java&lt;/skill&gt;<BR>        &lt;skill&gt;Oracle&lt;/skill&gt;<BR>        &lt;skill&gt;SQL&lt;/skill&gt;<BR>    &lt;/student&gt;<BR>    &lt;studnet ID="102"&gt;<BR>        &lt;name&gt;倪冰&lt;/name&gt;<BR>        &lt;sex&gt;女&lt;/sex&gt;<BR>        &lt;birthday&gt;1979.1.12&lt;/birthday&gt;<BR>        &lt;score&gt;89&lt;/score&gt;<BR>        &lt;skill&gt;Visual Basic&lt;/skill&gt;<BR>        &lt;skill&gt;SQL&lt;/skill&gt;<BR>        &lt;skill&gt;ASP&lt;/skill&gt;<BR>    &lt;/studnet&gt;<BR>                ...................<BR>&lt;/roster&gt;</P>
<P>text.xsl文件内容为:<BR>&lt;?xml version="1.0" encoding="gb2312"?&gt;<BR>&lt;xsl:stylesheet version="1.0" xmlns:xsl="<a href="http://www.w3.org/1999/XSL/Transform" target="_blank" >http://www.w3.org/1999/XSL/Transform</A>" xmlns:fo="<a href="http://www.w3.org/1999/XSL/Format" target="_blank" >http://www.w3.org/1999/XSL/Format</A>"&gt;<BR>    <FONT color=#f81919>&lt;xsl:template match="/"&gt;<BR></FONT>        &lt;title&gt;培训中心成绩单&lt;/title&gt;<BR>        &lt;h2 align="center"&gt;学生成绩单 &lt;/h2&gt;<BR>        &lt;table border="1" cellpadding="0" align="center"&gt;<BR>            &lt;tr align="center" bgcolor="#dadada"&gt;<BR>                &lt;td&gt;编号&lt;/td&gt;<BR>                &lt;td&gt;姓名&lt;/td&gt;<BR>                &lt;td&gt;性别&lt;/td&gt;<BR>                &lt;td&gt;生日&lt;/td&gt;<BR>                &lt;td&gt;成绩&lt;/td&gt;<BR>                &lt;td&gt;评价&lt;/td&gt;<BR>            &lt;/tr&gt;<BR>            <BR>    <FONT color=#ff2222>&lt;xsl:for-each select="/roster/student"&gt;</FONT>  <BR>            &lt;tr&gt;<BR>                &lt;td&gt;<BR>                &lt;xsl:value-of select="@ID"/&gt;<BR>                &lt;/td&gt;<BR>                &lt;td&gt;                                       &lt;xsl:value-of select="name"/&gt;<BR>                &lt;/td&gt;<BR>                &lt;td&gt;<BR>                &lt;xsl:value-of select="sex"/&gt;<BR>                &lt;/td&gt;<BR>                &lt;td&gt;<BR>                &lt;xsl:value-of select="birthday"/&gt;<BR>                &lt;/td&gt;<BR>                &lt;td&gt;<BR>                &lt;xsl:value-of select="score"/&gt;<BR>                &lt;/td&gt;<BR>                &lt;td&gt;<BR>                &lt;xsl:choose&gt;<BR>                            &lt;xsl:when test="score &amp;lt; 60 "&gt;不及格&lt;/xsl:when&gt;<BR>                            &lt;xsl:when test="score &amp;lt; 80 "&gt;一般&lt;/xsl:when&gt;<BR>                            &lt;xsl:when test="score &amp;gt; 90 "&gt;优秀&lt;/xsl:when&gt;<BR>                            &lt;xsl:otherwise&gt;良好&lt;/xsl:otherwise&gt;<BR>                &lt;/xsl:choose&gt;<BR>                &lt;/td&gt;<BR>            &lt;/tr&gt;<BR>            &lt;/xsl:for-each&gt;<BR>        &lt;/table&gt;<BR>    &lt;/xsl:template&gt;<BR>&lt;/xsl:stylesheet&gt;</P>
<P>结果只显示了ID为101,名字叫李华的第1个student,错误应该是第2处红色地方,如果改成]&lt;xsl:for-each select="/roster/*"&gt;才会显示所有student,但roster下如果有除了student以外的节点也会混淆,另外改成//student,/roster//student都只会显示第1个student<BR></P>

log 发表于 2007-6-14 13:06

已解决,很白痴的错误,能删了这贴最好..

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.