XDocument добавляет возврат каретки (\ r \ n, символы ecaspe) при генерации окончательной строки xml - PullRequest
2 голосов
/ 14 февраля 2020

Мне нужно вернуть IHttpActionResult, Ok (xml).
Переменная xml - это строковый тип данных. Проблема следующая ...
Когда программа возвращает строку xml, она добавляет \ r \ n для новой строки, escape-символов строки ().
Я хочу вернуть чистую xml строку.

Например, эту строку я хочу вернуть:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <ProxyGlave>
    <Glava ID="530064">
       <DatumIsporuke>1900-01-01T00:00:00</DatumIsporuke>
    </Glava>
    <Glava ID="530065">
       <DatumIsporuke>1900-01-01T00:00:00</DatumIsporuke>
    </Glava>
 </ProxyGlave>

Но моя программа возвращает это:

     "
     <?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\r\n
     <ProxyGlave>\r\n  
        <Glava ID=\"530064\">\r\n    
           <DatumIsporuke>1900-01-01T00:00:00</DatumIsporuke>\r\n
        </Glava>\r\n
        <Glava ID=\"530065\">\r\n    
           <DatumIsporuke>1900-01-01T00:00:00</DatumIsporuke>\r\n
        </Glava>\r\n
     </ProxyGlave>"

Снимок экрана из инструмента Почтальон:

Screenshot

Код, генерирующий строку XML:

XDocument xdoc = new XDocument(
    new XDeclaration("1.0", "utf-8", "yes"),
        new XElement("ProxyGlave",
        from gl in glave
        select
            new XElement("Glava", new XAttribute("ID", gl.DokumentiGlaId),
            new XElement("DatumIsporuke", gl.datum_isporuke)))
);
return Ok(xdoc.ToString());

1 Ответ

0 голосов
/ 20 февраля 2020

В заголовок GET-запроса необходимо добавить ключ Accept, значение которого равно application / xml. Имея эту информацию в заголовке, приложение знает, какой тип значения ему необходимо вернуть.

enter image description here

...