C # Mvc Api Xml не может преобразовать строку в XML в Powershell - PullRequest
0 голосов
/ 15 мая 2018

.NET APP

У меня есть приложение MVC 4.5 с контроллером Api, которое возвращает документ XML.Это выглядит примерно так:

namespace App.Controllers
{
    public class GetDataController : ApiController
    {
        public IEnumerable<MyStruct> Get()
        {
            //code to build IEnumerable<MyStruct> ReturnList goes here...
            return ReturnList;
        }
    }
}


POWERSHELL

Когда я запускаю приложение, я вижу, что XML правильно отображается в браузере.


Я могу получить веб-контент в виде строки с powershell с помощью:

$doc = (New-Object System.Net.WebClient).DownloadString("http://localhost:PORT#/api/...")


Возвращенная строка выглядит следующим образом:

[{"Prop1":"Value1","Prop2":"Value2"},{"Prop1":"Value1", "Prop2":"Value2"}]

enter image description here


ОШИБКА

Однако я получаю ошибку при попыткепреобразовать эту строку в xml через

$xmlDoc = [xml]$doc


Ошибка гласит:

Data at the root level is invalid. Line 1, position 1.

enter image description here


Я ПЫТАЛСЯ ИСПОЛЬЗОВАТЬ:

(New-Object System.Net.WebClient).DownloadFile($xmlURL,'c:\temp\file.xml')
$xmlSchedule = [xml](Get-Content 'c:\temp\file.xml')

, а также

$bomutf8=[system.text.Encoding]::UTF8.GetPreamble()
if(($a=(New-Object System.Net.WebClient).Downloadstring($xmlURL)).startsWith($bomutf8))
{
    [xml]$a=$a.remove(0,$bomutf8.length)
}


ВОПРОС

Какможно обойти эту ошибку?В идеале я хотел бы исправить эту ошибку на стороне сервера, чтобы конечные пользователи не сталкивались с такой же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...