Fichier XML : Modifier les elements d'un noeud

emilieroussel Messages postés 1 Date d'inscription jeudi 9 novembre 2000 Statut Membre Dernière intervention 15 mars 2006 - 15 mars 2006 à 11:17
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 15 mars 2006 à 14:09
Salut à tous,
Je suis actuellement en train de développer une appli en c#.NET qui utilise des fichiers XML.
Je rencontre depuis qq jours un petit problème qui commence à me prendre la tête : je voudrais modifier la valeur des éléments d'un noeud...

Un fichier XML a la forme suivante :
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<questionnaire>
<descriptif nom="testModif2.exo">
<format>exo</format>
<tempsGlobal>-1</tempsGlobal>
</descriptif>
<question numero="1">
<enonce>Quel jour sommes nous?</enonce>
<reponse>Mercredi</reponse>
0

0

0

<temps>-1</temps>






</question>
<question numero="2">
<enonce>Quel mois sommes nous?</enonce>
<reponse>Mars</reponse>
0

0

0

<temps>-1</temps>






</question>
</questionnaire>

Je voudrais pouvoir modifier les valeurs de l'enonce, de la reponse etc sans changer le numéro.
Si quelqu'un peut m'aider...
D'avance merci

Emilie

2 réponses

24 ans Messages postés 231 Date d'inscription lundi 27 novembre 2000 Statut Membre Dernière intervention 7 juillet 2008 2
15 mars 2006 à 11:33
si je me souvient bien sa sera comme ça


NOM_DATASET.Tables[NUM_TABLE].Rows[NUM_LIGNE][
"NOM_COLONNE"]="votre chaoine";
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
15 mars 2006 à 14:09
XmlDocument doc = new XmlDocument();
doc.Load("ton_fichier.xml");

int i = 0;
XmlNodeList les_questions = doc.SelectNodes("questionnaire/question");
foreach (XmlNode question in les_questions)
{
XmlNode enonce = question.SelectNode("enonce");
enconnce.ChildNode[0].Value = string.Format("enoncé numero {0}", i++);
}

apres tu peux filtrer, genre en entrée du foreach :
if (question.Attributes["numero"].Value == "1")
......
ou encore

if (int.Parse(question.Attributes["numero"].Value) == 1)
......
0
Rejoignez-nous