Как мне моделировать динамический элемент XML в классе сериализации C #? - PullRequest
0 голосов
/ 24 августа 2010

У меня есть документ XML, в котором один из узлов элемента может быть динамическим или иметь любую структуру XML. Мне трудно моделировать соответствующий класс сериализации C #.

Например, у меня есть что-то подобное в моем классе C #:

[XmlAnyElement]
public XmlNode Value { get; set; }

Где XmlNode - System.Xml.XmlNode.

Несколько заметок:

  • Я хочу, чтобы значением было XML-файл, который я загружаю через XDocument Linq (за исключением тега заголовка XML)
    • Хотя я не вижу способа преобразовать System.Xml.Linq.XNode в System.Xml.XmlNode
  • Я не хочу, чтобы у XML-результата был элемент . Я хочу, чтобы он был корневым элементом загруженного мной XML-документа.

1 Ответ

0 голосов
/ 25 августа 2010

Я понял это.Я сохранил объявление свойства таким же и создал этот вспомогательный класс:


public static class XmlDocumentHelper
{
    public static XmlDocument FromXDocument(XDocument document)
    {
        var result = new XmlDocument();
        using (XmlReader reader = document.CreateReader())
        {
            result.Load(reader);
        }
        return result;
    }
}

Итак, значение установлено следующим образом: Value = XmlDocumentHelper.FromXDocument(document);

...