Используйте XmlSerializer для добавления пространства имен без префикса

существует также ClassLoader.loadClass (строка), но это не часто используется.

и если Вы хотите быть общим адвокатом об этом, массивы технически объекты из-за .length свойства массива. так инициализация массива создает объект.

6
задан Jan Jongboom 7 December 2009 в 16:20
поделиться

3 ответа

Вы можете использовать Конструктор XmlSerializer , который принимает пространство имен по умолчанию в дополнение к типу, который вы хотите сериализовать:

var x = new XmlSerializer(
    typeof(OrderContainer), 
    "http://blabla/api/products");
var ns = new XmlSerializerNamespaces();
ns.Add("i", "http://www.w3.org/2001/XMLSchema-instance");
x.Serialize(stream, orderContainer, ns);
10
ответ дан 9 December 2019 в 20:44
поделиться

Вы должны использовать [XmlElementAttribute] , а не [DataContractAttribute] , если вы хотите использовать сериализатор XML.

2
ответ дан 9 December 2019 в 20:44
поделиться

Ах, пришлось использовать DataContractSerializer , который автоматически генерирует правильный XML, включая пространства имен.

DataContractSerializer dcs = new DataContractSerializer(typeof(OrderContainer));
//do stuff..
dcs.WriteObject(s, orderContainer);
0
ответ дан 9 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: