Это мой xml (немного укороченный):
<document stored_search_id="11826309" id_site="184569" id_article="86428" hidden="false" position="1" equalgroup="3597146365">
<unix_timestamp>1548924770</unix_timestamp>
<header matches="false">
<text>Mobilstrul för Tele2 - problem ringa 112</text>
</header>
<short_header matches="false" length="251" removed="0">
<text>Mobilstrul för Tele2 - problem ringa 112</text>
</short_header>
<summary matches="false">
<text> Samhälle Kunder i hela landet har rapporterat problem med mobiltelefoni med operatörerna Tele2 och Comviq. Användarna har dålig eller ingen täckning och varken samtal eller internet i mobilen fungerar.</text>
</summary>
<short_summary matches="false" length="957" removed="94">
<text> Samhälle Kunder i hela landet har rapporterat problem med mobiltelefoni med operatörerna Tele2 och Comviq. Användarna har dålig eller ingen täckning och varken samtal eller internet i</text>
</short_summary>
<body matches="false">
<p>
<text>Enligt Joel Ibson, kommunikationsansvarig på Tele2 började problemen vid tretiden på natten.</text>
</p>
<text> </text>
<p>
<text>Det var en omfattande, rikstäckande störning. Den blev snabbt bättre, men det finns fortfarande problem, framför allt i Göteborgsområdet.</text>
</p>
</body>
</document>
И это объект, с которым я хочу разобрать его:
[XmlRoot(ElementName = "document")]
public class Document
{
[XmlElement(ElementName = "unix_timestamp")]
public long UnixTimestamp { get; set; }
[XmlElement(ElementName = "header")]
public Header Header { get; set; }
[XmlElement(ElementName = "short_header")]
public ShortHeader ShortHeader { get; set; }
[XmlElement(ElementName = "summary")]
public Summary Summary { get; set; }
[XmlElement(ElementName = "short_summary")]
public ShortSummary ShortSummary { get; set; }
[XmlElement(ElementName = "body")]
public string Body { get; set; }
}
Как вы можете видеть мое телоимеет тип string, но в xml это какой-то html.
Я отправляю xml из файла:
var contents = File.ReadAllText(file);
var httpContent = new StringContent(contents, Encoding.UTF8, "application/xml");
var resoponse = await httpClient.PostAsync(uri, httpContent);
File.Move(file, file.Replace(folderPath, $@"{folderPath}\Done"));
в мой метод API:
[AllowAnonymous]
[HttpPost]
[Route("")]
public async Task SearchResult([FromBody] SearchResultDataContract searchResult)
{
Но всякий раз, когда мое тело является частью объекта SearchResultDataContract, оно не может выполнить синтаксический анализ xml, и поэтому оно становится пустым.
Поэтому я предполагаю, что оно пытается проанализировать Body как xml вместо строки / html итогда если не получится.Итак, мой вопрос, как я могу разобрать html тела в строку?