Как сохранить пространства имен XML после десериализацииC#

Место общения программистов C#
Ответить
Anonymous
 Как сохранить пространства имен XML после десериализации

Сообщение Anonymous »

У меня есть XML со следующими пространствами имен. Если я десериализую это в класс ниже, пространства имен def и префикс abc будут удалены.

Код: Выделить всё

// Root.cs
[XmlRoot(ElementName = "root", Namespace = "http://example.com")]
public class Root
{
[XmlElement(Namespace = "")]
public string item { get; set; } = string.Empty;
}

// XMLService.cs
var xml = "a";

XmlSerializer serializer = new(typeof(Root));
using (TextReader reader = new StringReader(xml))
{
var serviceResponse = (Root?)serializer.Deserialize(reader);

if (serviceResponse != null)
result = serviceResponse;
}

return result;

// Result

a

Обновление:
Я проверил вопрос о сериализации XML и префиксах пространства имен, но проблема связана с сериализацией объекта, а не с его десериализацией. Есть ли способ сохранить пространства имен при десериализации?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ialization
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»