xsl:if如何判断等于某一个内容?救急啊。

lmc58 2009-12-07 06:23:44
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"
xmlns="http://www.w3.org/TR/REC-html40"
result-ns="">
<xsl:template><xsl:apply-templates/></xsl:template>
<xsl:template match="/">
<html>
<head>
<title>联系人</title>
</head>
<body><xsl:apply-templates select="list"/></body>
</html>
</xsl:template>

<xsl:template match="list">
<TABLE border="1" cellspacing="0">
<CAPTION>联系人</CAPTION >
<tr>
<th>姓名</th>
<th>编号</th>
<th>公司</th>
<th>EMAIL</th>
</tr>
<xsl:for-each select="lianxiren">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="ID"/></td>
<td><xsl:value-of select="gongsi"/></td>
<td><xsl:value-of select="email"/></td>
</tr>
</xsl:for-each>
</TABLE><BR/>
<xsl:if test="name='张扬'">
<xsl:value-of select="name"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>


无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。


--------------------------------------------------------------------------------

预期的句柄 'eof' 找到 '!='。 name-->!=<--张扬'



...全文
697 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cds27 2009-12-08
  • 打赏
  • 举报
回复
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"
问题在红字的地方,这个XSL的命名空间是草案版本,现在应该已经很少使用,而且它与正式版本的语句上还有些区别。
如楼上写的,http://www.w3.org/1999/XSL/Transform就是正式版本的命名空间,建议用此版本。
heruoyong 2009-12-08
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:template match="/">
<html>
<head>
<title>联系人 </title>
</head>
<body>
<xsl:apply-templates select="list"/>
</body>
</html>
</xsl:template>

<xsl:template match="list">
<TABLE border="1" cellspacing="0">
<CAPTION>联系人 </CAPTION >
<tr>
<th>姓名 </th>
<th>编号 </th>
<th>公司 </th>
<th>EMAIL </th>
</tr>
<xsl:for-each select="lianxiren">
<xsl:if test="name/text()='张扬'">
<tr>
<td>
<xsl:value-of select="name"/>
</td>
<td>
<xsl:value-of select="ID"/>
</td>
<td>
<xsl:value-of select="gongsi"/>
</td>
<td>
<xsl:value-of select="email"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</TABLE>
<BR/>
</xsl:template>
</xsl:stylesheet>


<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="lianxiren.xsl"?>
<list>
<lianxiren>
<name>张扬</name>
<ID>001 </ID>
<gongsi>湖南广告 </gongsi>
<email>zhang@163.com </email>
</lianxiren>
<lianxiren>
<name>费翔 </name>
<ID>002 </ID>
<gongsi>湖南水利 </gongsi>
<email>fei@163.com </email>
</lianxiren>
<lianxiren>
<name>妖姬 </name>
<ID>003 </ID>
<gongsi>湖南城管 </gongsi>
<email>yao@163.com </email>
</lianxiren>
</list>


请拷贝我的代码测试,我测试成功
除使用XPath定位要正确,取文本节点的时候要注意,这个text()定位路径是选择上下文节点的所有文本节点
shenzhenNBA 2009-12-07
  • 打赏
  • 举报
回复
试看。。。
<tr>
<td> <xsl:value-of select="name[text()= '张扬']"/> </td>
<td> <xsl:value-of select="ID"/> </td>
<td> <xsl:value-of select="gongsi"/> </td>
<td> <xsl:value-of select="email"/> </td>
</tr>
lmc58 2009-12-07
  • 打赏
  • 举报
回复
这是我的XML文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="lianxiren.xsl"?>
<list>
<lianxiren>
<name>张扬</name>
<ID>001</ID>
<gongsi>湖南广告</gongsi>
<email>zhang@163.com</email>
</lianxiren>
<lianxiren>
<name>费翔</name>
<ID>002</ID>
<gongsi>湖南水利</gongsi>
<email>fei@163.com</email>
</lianxiren>
<lianxiren>
<name>妖姬</name>
<ID>003</ID>
<gongsi>湖南城管</gongsi>
<email>yao@163.com</email>
</lianxiren>
</list>


我就是想通过xsl:if来找到叫张扬的信息。。
救救我啊。。
lmc58 2009-12-07
  • 打赏
  • 举报
回复
各位大大,救命啊。谁知道的话,帮下我啊,我很急。。。帮下忙啊。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧