2010-08-24 4 views
0

J'ai un document XML où l'un des nœuds de l'élément peut être dynamique, ou de n'importe quelle structure XML. J'ai du mal à modéliser la classe de sérialisation C# correspondante.Comment modéliser un élément XML dynamique dans une classe de sérialisation C#?

Par exemple, j'ai quelque chose comme ça dans ma classe C#:

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

Où XmlNode est System.Xml.XmlNode.

Quelques notes:

  • Je veux valeur être un fichier XML je charge via XDocument de Linq (moins l'étiquette d'en-tête XML)
    • Bien que je ne vois pas un moyen de convertir un System.Xml.Linq.XNode à System.Xml.XmlNode
  • Je ne veux pas le fichier XML de résultat d'avoir un élément <Valeur>. Je veux que ce soit l'élément racine du document XML que j'ai chargé.

Répondre

0

Je l'ai compris. J'ai gardé la déclaration de propriété et même créé cette classe d'aide:


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

donc valeur est définie comme ceci: Value = XmlDocumentHelper.FromXDocument(document);

Questions connexes