У меня есть XML-документы, которые я пытаюсь преобразовать в Json, но некоторые строковые поля содержат теги HTML (из копирования / вставки текстовых полей из документов Word).Исходный XML выглядит следующим образом:
<my:Request_Description>
<html xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
<div>test</div>
</html>
</my:Request_Description>
Когда вызывается JsonConvert.SerializeXmlNode
, Json заканчивается следующим образом:
"Request_Description": {
"html": {
"@xml:space": "preserve",
"@xmlns": "http://www.w3.org/1999/xhtml",
"#significant-whitespace": [
"\r\n ",
"\r\n"
],
"div": "test"
}
}
Я пытался просто объявить поле как строку, но когдапри вызове deserializeobject
ошибка Unexpected character encountered while parsing value
.
Есть ли что-то, что я должен сделать на serializexmlnode, чтобы результат Json был другим?Или я могу что-то сделать с десериализованным объектом, чтобы он игнорировал тег HTML?
В идеале json должен выглядеть примерно так, как показано ниже, но я предполагаю, что для кавычек необходимо будет добавить некоторые escape-символы.Суть в том, что теги HTML НЕ обозначают отдельный узел, а вместо этого являются частью значения для узла.Я начал изучать XSLT и подумал, что это может быть вариантом.
{
"Request_Description": "<html xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml"><div>test</div></html>"
}