Bonjour à tous,
J'ai un problème sur une application. Je m'explique...
Je crée un fichier XML via une classe que je sérialise.
Voilà le code :
J'ai un fichier XSD qui vérifie la validité du fichier XML généré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 [Serializable] [XmlRootAttribute(ElementName = "reponse", IsNullable = false)] public class reponse { societe m_societe; [XmlElement(ElementName = "societe")] public societe Societe { get { return m_societe; } set { m_societe = value; } } conducteur m_contact; [XmlElement("contact")] public conducteur Contact { get { return m_contact; } set { m_contact = value; } } } [Serializable] public class societe { conducteur m_nom_societe; [XmlElement("nomsociete")] public conducteur NomSociete { get { return m_nom_societe; } set { m_nom_societe = value; } } ... } [Serializable] [XmlRootAttribute(ElementName = "contact")] public class contact { ... }
Ce fichier est fournit pas une entité externe et ne peut être modifié !
Voici les règles :
- la balise societe n'est pas obligatoire
- si la balise societe est présente les balises enfants de societe sont obligatoires
- la balise contact est obligatoire
Quand je génére le fichier XML j'ai des valeurs société à NULL le problème c'est qu'il m’insère quand même un élément societe <societe /> ce qui rend la validation du fichier caduc.
exemple :
Exite-t-il un paramètre afin d'éviter qu'il m’insère des balises vide (<societe />)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <liste> <reponse> <societe><nomsociete>entreprise toto</nomsociete></societe> <contact><nom>toto</nom></contact> </reponse> <reponse> <societe /> <nom>tutu</nom> </reponse> </liste>
J'ai déjà essayer la propriété IsNullable sans succès !
Merci d'avance pour votre aide !
Partager