[XML][XML Schema] [C#] Problème de dataset

Fermé
JeepyLeChat Messages postés 59 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 27 février 2012 - 12 janv. 2010 à 16:46
JeepyLeChat Messages postés 59 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 27 février 2012 - 12 janv. 2010 à 17:17
Bonjour,

Je travaille sur une application en C# sur Visual Studio 2005 qui utilise une base de donnée XML agencée avec un fichier XSD (xml schema). J'ai du faire des modifications dans mon fichier XML afin d'inclure une liste de langues possible à utiliser dans le programme principal, avec chacun un attribut "actif" ou non.

Mon problème réside dans l'utilisation de mon dataset. En tripatouillant les fonctions, et en en créant quelques unes, j'en suis arrivé à un point où ça ne marche pas. La raison est que lorsque mon dataset va chercher mes données, qui sont bel et bien dans mon fichier XML, mais éventuellement je me fais renvoyer une liste de languages vide, plutôt qu'avec 6 ou 7 lignes dedans.

Je post mon code.

XML
 <option>
     [...]
      <languageList>
        <language active="true">fr-FR</language>
        <language active="false">fr-CA</language>
        <language active="false">en-US</language>
        <language active="false">en-CA</language>
        <language active="false">de-DE</language>
        <language active="false">ru-RU</language>
        <language active="false">fi-FI</language>
        <language active="false">es-ES</language>
      </languageList>
     [...]
</option>


XSD correspondant
<xs:element name="option" minOccurs="1" maxOccurs="1">
								<xs:complexType>
									<xs:sequence>
		[...]
                    <xs:element name="languageList" minOccurs="1" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          
                          <xs:element name="language" maxOccurs="unbounded" minOccurs="1">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute name="active" type="xs:boolean" use="required"/>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>

                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
            [...]


Et finalement, ma fonction pour aller chercher ma langue utilisée:

public string CurrentLanguage
        {
            get
            {
                languageListRow[] languagelist = ((languageListRow[])(Option.GetlanguageListRows()));
                languageRow[] languages;
                for (int cpt = 0; cpt < languagelist.GetLength(0); cpt++)
                {
                    languages = languagelist[cpt].GetlanguageRows(); //Ne renvoie systématiquement rien
                    for (int i = 0; i < languages.GetLength(0); i++)
                    {
                        if (languages[i].active == true)
                        {
                            return languages[i].language;
                        }
                    }
                }
                languages = languagelist[0].GetlanguageRows();
                return languages[0].language;
            }
        }


Les fonctions GetlanguageRows et GetlanguageListRows sont toutes deux générées automatiquement par le compilateur.

GetLanguageRows ne renvoie rien, alors que je devrais normalement obtenir un tableau contenant toutes mes languageRows.

Donc, de l'aide serait bienvenue, parce que là, ça fais au dessus de 10 heures que je planche là dessus... raaaaah.

JeepyLeChat
A voir également:

1 réponse

JeepyLeChat Messages postés 59 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 27 février 2012 1
12 janv. 2010 à 17:17
Self-bump.
0