我试图通过参数中的内容过滤XML.什么是正确的sintax匹配只有那些dep_code等于'某事'或在这种情况下$ department?
XML结构是
<course>
<dep_code></dep_code>
<catalog_number></catalog_number>
<course_group></course_group>
<term></term>
<offered></offered>
<course_type></course_type>
<course_level></course_level>
<title></title>
<course_number></course_number>
<meeting_text></meeting_text>
<faculty_text></faculty_text>
<description></description>
<prerequisites></prerequisites>
</course>
Run Code Online (Sandbox Code Playgroud)
参数定义
<xsl:param name="department" select="'All'" />
Run Code Online (Sandbox Code Playgroud)
代码我尝试过 我试过这个:
<xsl:template match="course/dep_code/{$department}">
Run Code Online (Sandbox Code Playgroud)
这个:
<xsl:template match="course/dep_code/$department">
<xsl:template match="course/dep_code eq $department">
Run Code Online (Sandbox Code Playgroud)
我继续得到如下语法错误:
提前致谢
小智 8
示例XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<courses>
<course>
<dep_code>not_it</dep_code>
<catalog_number></catalog_number>
<prerequisites></prerequisites>
</course>
<course>
<dep_code>something</dep_code>
<catalog_number></catalog_number>
<prerequisites></prerequisites>
</course>
</courses>
Run Code Online (Sandbox Code Playgroud)
示例XSLT
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<th>dep_code</th>
</tr>
<xsl:for-each select="courses/course">
<xsl:if test="dep_code[text()='something']">
<tr>
<td><xsl:value-of select="dep_code"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
结果
<html>
<body>
<table border="1">
<tr><th>dep_code</th></tr>
<tr><td>something</td></tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17725 次 |
| 最近记录: |