У меня есть xml, что я получу от стороннего приложения, и структура выглядит следующим образом:
<root>
<id>1</id>
<data><node>i like it<node>\n\r
<node>i like it<node></data>
</root>
Как вы можете видеть, есть экранированный xml внутри <data>
, также в конце первой строки<data>
есть новая строка \n\r
и 2 пробела впереди на 2 строке в <data>
.
Вот мой метод десериализации:
public static root Deserialize(string xml)
{
System.IO.StringReader stringReader = null;
try
{
stringReader = new System.IO.StringReader(xml);
return ((root)(Serializer.Deserialize(System.Xml.XmlReader.Create(stringReader))));
}
finally
{
if ((stringReader != null))
{
stringReader.Dispose();
}
}
}
После использования этого методазначение элемента данных:
"<node>i like it<node>\n <node>i like it<node>"
А теперь мои вопросы:
Почему \r
удален из строки данных?Есть ли способ удалить символы новой строки и пробелы другим способом, кроме простого string.replace();
?