2

我正在尝试使用 Report Builder 2.0 使用 XML 数据源查询 Sharepoint 列表。我明确列出了我想要返回的字段,否则我不会得到所有这些字段,因为它们中的一些有时为空。但是,我需要的字段之一的名称中有一个空格。如果我在未明确指定字段的情况下进行查询,我会将其作为以下字段之一返回: ows_Pre-Req Estimate. 如何在ElementPath标签中指定此字段?当我尝试将字段名称放在引号中或仅将其留有空格时,会出现不同的错误,如图所示:

<ElementPath IgnoreNamespaces="true">
GetListItemsResponse/GetListItemsResult/listitems/data/row{@ows_Release,@ows_Theme,@ows_ID,@ows_Pre-Req Estimate}
</ElementPath>

这是我在保留空间并尝试在查询设计器中运行查询时遇到的错误:

XmlDP 查询无效。ElementPath 的第 1 行字符 105 处的语法错误。预期的 }。

我尝试检查有关 ElementPath 的 MSDN 页面,但没有看到任何有关带空格的字段的注释。我在Maria 的两分钱上看到有人建议使用_x0020_而不是空格,但这似乎也不起作用。

交叉发布到Microsoft 论坛

4

1 回答 1

2

哦,这里有一些毛茸茸的。好的,所以 Maria's Two Cents 的评论者是对的:你可以ElementPath_x0020_. 我的问题是您也必须转义字段名称中的连字符。我下载了 Report Builder 3.0 并尝试在其中创建查询。之后,编辑查询的 XML 向我显示了应该编码的字段名称:

<FieldRef Name="Pre_x002d_Req_x0020_Estimate" />

我现在可以在 Report Builder 2.0 中使用它(注意字段名称前面的“ows_”):

<ElementPath IgnoreNamespaces="true">
GetListItemsResponse/GetListItemsResult/listitems/data/row{@ows_Release,@ows_Theme,@ows_ID,@ows_Pre_x002d_Req_x0020_Estimate}
</ElementPath>
于 2010-02-05T19:04:28.680 回答