Запрос построителя отчетов 2.0: ElementPath с пробелом в имени поля - PullRequest
2 голосов
/ 05 февраля 2010

Я пытаюсь использовать построитель отчетов 2.0 для запроса списка Sharepoint с использованием источника данных XML. Я явно перечисляю поля, которые хочу вернуть, потому что в противном случае я не получаю все из них , поскольку некоторые из них иногда бывают нулевыми. Однако в одном из полей, которые мне нужны, есть пробел в названии. Если я сделаю запрос, в котором не буду явно указывать поля, я получу это обратно как одно из полей: ows_Pre-Req Estimate. Как я могу указать это поле в теге ElementPath? Я получаю разные ошибки, когда пытаюсь поместить имя поля в кавычки или просто оставить его с пробелом, как показано:

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

Вот ошибка, которую я получаю, когда оставляю пробел и пытаюсь выполнить запрос в Query Designer:

Недопустимый запрос XmlDP. Синтаксическая ошибка в строке 1, символ 105 ElementPath. Ожидаемый}.

Я попытался проверить страницу MSDN о ElementPath , но не увидел никаких примечаний о полях с пробелами. На два цента Марии я видел, что кто-то предложил использовать _x0020_ вместо пробела, но это тоже не сработало.

Перекрестная публикация на Форумы Microsoft .

1 Ответ

2 голосов
/ 05 февраля 2010

Ох, вот немного волосатости. Итак, комментатор на «Два цента Марии» был прав: вы можете выйти из пробела в ElementPath с помощью _x0020_. Моя проблема заключалась в том, что вы также должны экранировать дефис в имени поля. Я скачал Report Builder 3.0 и попытался создать в нем запрос. После этого, редактирование XML запроса показало мне имена полей в том виде, в каком они должны быть закодированы:

<FieldRef Name="Pre_x002d_Req_x0020_Estimate" />

Теперь я могу использовать это в построителе отчетов 2.0 (обратите внимание на «ows_» перед именами полей):

<ElementPath IgnoreNamespaces="true">
GetListItemsResponse/GetListItemsResult/listitems/data/row{@ows_Release,@ows_Theme,@ows_ID,@ows_Pre_x002d_Req_x0020_Estimate}
</ElementPath>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...