2

Report Builder 2.0 を使用して、XML データ ソースを使用して SharePoint リストをクエリしようとしています。返されるフィールドを明示的にリストします。そうしないと、一部のフィールドが null になることがあるため、すべてを取得できないためです。ただし、必要なフィールドの 1 つに、名前にスペースが含まれています。フィールドを明示的に指定しないクエリを実行すると、これがフィールドの 1 つとして返されます: ows_Pre-Req EstimateElementPathタグでこのフィールドを指定するにはどうすればよいですか? フィールド名を引用符で囲んだり、スペースをそのまま残したりすると、さまざまなエラーが発生します。

<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 の 2 セントで、誰かがスペースの代わりに使用することを提案しているのを見ました_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 に答える