Какой класс Xml использовать для массива XmlNode [] - PullRequest
0 голосов
/ 05 мая 2011

Я сгенерировал некоторые классы из 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>

Какой класс можно поместить в поле «Любой», чтобы заполнить его внутренним текстовым значением, не изменяя сгенерированный класс.

1 Ответ

0 голосов
/ 06 мая 2011

решили проблему.

Решением было создание XmlDocument и создание узла из документа.

var node = (new XmlDocument()).CreateNode(XmlNodeType.Text, string.Empty, string.Empty);

Затем присвойте значение InnerText:

node.InnerText = reason.ExportCode;

Сгенерировано следующее.

<AdditionalData type="DOECode">TEST CODE</AdditionalData>
...