Travailler en arrière pourrait vous aider - créez d'abord votre classe, puis sérialisez et voyez ce que vous obtenez.
Pour les classes les plus simples, c'est plutôt facile. Vous pouvez utiliser XmlSerializer pour sérialiser, comme:
namespace ConsoleApplication1
{
public class MyClass
{
public string SomeProperty
{
get;
set;
}
}
class Program
{
static void Main(string[] args)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
TextWriter writer = new StreamWriter(@"c:\temp\class.xml");
MyClass firstInstance = new MyClass();
firstInstance.SomeProperty = "foo"; // etc
serializer.Serialize(writer, firstInstance);
writer.Close();
FileStream reader = new FileStream(@"c:\temp\class.xml", FileMode.Open);
MyClass secondInstance = (MyClass)serializer.Deserialize(reader);
reader.Close();
}
}
}
Cela va écrire une représentation sérialisée de votre classe en XML à "c: \ temp \ class.xml". Vous pourriez jeter un coup d'oeil et voir ce que vous obtenez. En sens inverse, vous pouvez utiliser serializer.Deserialize pour instancier la classe de "c: \ temp \ class.xml".
Vous pouvez modifier le comportement de la sérialisation, et gérer les nœuds inattendus, etc - jetez un oeil à the XmlSerializer MSDN page par exemple.
avez-vous eu de la chance avec l'une des approches suggérées? –
Oui !. J'ai réussi à utiliser l'outil xsd pour générer la classe (j'ai dû faire quelques changements pour répondre à mes exigences). – Grasshopper
http://msdn.microsoft.com/fr-fr/library/system.xml.serialization.xmlserializer.aspx – Mou