#c# #xml #xml-serialization
#c# #xml #xml-сериализация
Вопрос:
Я сгенерировал несколько классов из XSD, которые отлично работали, и я создаю данные и сериализую их в XML, все работает нормально.
За исключением того, что у меня есть одно свойство, которое является массивом XmlNode
, и я ни за что в жизни не могу понять, какой класс использовать. Не эксперт по XML.
Свойство в классе, которое было сгенерировано, выглядит следующим образом.
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string type
{
get
{
return this.typeField;
}
set
{
this.typeField = value;
}
}
И я построил все вокруг него к этому моменту:
timeInterval.AdditionalData = new[]
{
new AdditionalDataType()
{
type = "DOECode",
Any = new XmlNode[] { ... }
}
};
Ожидаемый Xml после сериализации должен быть следующим:
<AdditionalData type="DOECode">11</AdditionalData>
Какой класс я могу поместить в ‘Any’, чтобы заполнить значением внутреннего текста, не изменяя созданный класс.
Ответ №1:
Решили проблему.
Решением было создать XmlDocument и создать узел из документа.
var node = (new XmlDocument()).CreateNode(XmlNodeType.Text, string.Empty, string.Empty);
Затем присвоите значение innerText:
node.InnerText = reason.ExportCode;
Он сгенерировал следующее.
<AdditionalData type="DOECode">TEST CODE</AdditionalData>