Xml тэги при запросе коллекции через EntityDataService.svc

Всем привет, подскажите, пожалуйста, сталкивался ли из вас кто со следующей проблей, или может предложит варианты решения. 

Есть объект и для него sql запрос. Доступ к коллекции объекта осуществляется через EntityDataService.svc. 
Одно из полей множественное, для такого поля в sql запросе сделана реализация через 

FOR XML PATH ('Goal'), TYPE

Но при запросе коллекции скобки xml тэгов заменяются их кодовыми значениями. 

<d:AccountLoginQualifiedGoal>&lt;Goal id="9857A30F-3F69-4D07-ADC8-02A61D686C82"&gt;&lt;Name&gt;ЦЕЛЬ№1&lt;/Name&gt;&lt;/Goal&gt;&lt;Goal id="187B496F-B7C5-449A-BDE6-7D07D28296DB"&gt;&lt;Name&gt;ЦЕЛЬ№2&lt;/Name&gt;&lt;/Goal&gt;</d:AccountLoginQualifiedGoal>

Можно ли как-то этого избежать и выводить просто как скобки? Чтобы было вот так.

 <d:AccountLoginQualifiedGoal><Goal id="9857A30F-3F69-4D07-ADC8-02A61D686C82"></Goal><Name>Цель№1</Name></Goal><Goal id="5985A03D-0162-4F02-AA64-BDFCFAC93B49"><Name>Ничего из этого</Name></Goal><Goal id="71EBF4E1-B344-490D-94D9-C67EC77206A9"><Name>Встречи</Name></Goal><Goal id="F6CA356F-635D-4C96-B1E6-D0409172F26E"><Name>Цель№2</Name></Goal></d:AccountLoginQualifiedGoal>

 

Нравится

3 комментария

Добрый день. 
Правильно ли я понимаю, что Вы получаете ответ от сервиса EntityDataService.svc в виде : 
 

<d:AccountLoginQualifiedGoal>&lt;Goal id="9857A30F-3F69-4D07-ADC8-02A61D686C82"&gt;&lt;Name&gt;ЦЕЛЬ№1&lt;/Name&gt;&lt;/Goal&gt;&lt;Goal id="187B496F-B7C5-449A-BDE6-7D07D28296DB"&gt;&lt;Name&gt;ЦЕЛЬ№2&lt;/Name&gt;&lt;/Goal&gt;</d:AccountLoginQualifiedGoal>

 

Mykhailo Storozhuk,

Да, все верно.

Данное поведения полностью корректное. Данную сериализацию делает базовая функциональность .net framework, именно System.Data.Services.DataService. Это нужно для того, что бы не нарушить основной xml.

Я бы рекомендовал Вам обрабатывать ответ, который приходит от сервиса, используя базовые методы языка программирования. 

 

Показать все комментарии