【发布时间】:2015-01-08 15:15:07
【问题描述】:
我需要从一个 XML 文件中查询(我在这里包含)
Link towards the xml file
我需要找到所有具有“Eric”教授所提供课程先决条件的课程
预期的查询结果:
- 编程抽象
- 计算机组织和系统
- 计算机科学家概率简介
- 数字系统二
我尝试按步骤工作
我知道我需要找到所有具有 CS106A 和 CS106B 前提条件的课程
所以我尝试了
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<Course_Catalog>
<xsl:copy-of select="//Course[Prerequisites/Prereq = 'CS106B' and 'CS106A']/Title"/>
</Course_Catalog>
</xsl:template>
</xsl:stylesheet>
但这给了我
- 计算机组织和系统
- 计算机科学家概率简介
- 数字系统 II
如果我尝试
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<Course_Catalog>
<xsl:copy-of select="//Course[Prerequisites/Prereq = 'CS106A' and 'CS106B']/Title"/>
</Course_Catalog>
</xsl:template>
</xsl:stylesheet>
我只得到
- 编程抽象
所以我可以假设我的“和”不起作用?
【问题讨论】:
-
您不应该写关于“XML 查询”(听起来更像 XQuery)——“XPath 表达式”是正确的术语。如果您打算引用上面的整个代码块 - 这称为 XSLT 样式表。