我在 SharePoint 中有两个列表、测验和测验问题。测验问题有一个指向测验的查找列,并包括一个用于原始列表的行 ID(测验 ID)的列。我想创建一个带有一些自定义 XSLT 的数据查看器部分,并且即将完成,但无法让最终查询完全正常工作,因此我想获取一个测验 ID 的所有测验问题。
首先,我在 SPD 中创建了一个数据源并包含了两个列表(链接)。然后我在我的页面上插入了一个新的数据视图并包含了数据源。我的领域的层次结构在 SPD 中看起来是正确的:
/dsQueryResponse/QuizQuestions/Rows/Row/@Quiz_x003a_ID
在我的 XSLT 中,我将过滤器写出如下内容:
<xsl:variable name="Rows" select="/dsQueryResponse/QuizQuestions/Rows/Row[@Quiz_x003a_ID=10]"/>
在这种情况下,10 只是测试数据,我确认它在列表中。但是,当我尝试此查询时,我没有返回任何结果,如下所示:
Count: <xsl:value-of select="count($Rows)"/>
如果我取出过滤器,我会得到列表中的每一行。现在,有两个考虑因素可能相关,也可能不相关:
在 SPD 中,每当我查看 Current DataSource 层次结构时,它都不会显示此 ID 字段的整数值(即使它在 SP UI 中显示)。相反,它显示为“
在循环遍历 Rows 值的循环中,我可以获得并显示 @Title 字段的变量,但不能用于 @Quiz_x003a_ID 字段。我收到一个意外错误和相关 ID(这是在 SharePoint Online 2013 中),因此我无法进一步轻松地对其进行故障排除。该字段清楚地显示,我可以从 SPD 的层次结构导航中复制 XPATH。
提前致谢!