Report Builder 2.0查询:带有字段名称空格的ElementPath

时间:2010-02-05 18:51:20

标签: xml soap reporting-services formatting reportbuilder

我正在尝试使用Report Builder 2.0使用XML数据源查询Sharepoint列表。我明确列出了我想要返回的字段,因为否则I don't get all of them,因为有些字段有时为空。但是,我需要的其中一个字段名称中有一个空格。如果我在没有明确指定字段的情况下进行查询,我会将其作为字段之一返回: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查询无效。第1行的语法错误,ElementPath的字符105。预期}。

我尝试检查MSDN page about ElementPath,但没有看到任何有空格的字段的注释。我在Maria's two cents上看到有人建议使用_x0020_而不是空格,但这似乎也不起作用。

交叉发布到Microsoft Forums

1 个答案:

答案 0 :(得分:2)

哦,这里有一些毛羽。好的,所以Maria's Two Cents上的评论者是对的:你可以ElementPath _x0020_逃离<FieldRef Name="Pre_x002d_Req_x0020_Estimate" /> 。我的问题是你必须在字段名称中删除连字符。我下载了Report Builder 3.0并尝试在其中创建查询。之后,编辑查询的XML会向我显示字段名称,因为它们应该被编码:

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

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

{{1}}