Bonjour, me voila avec un nouveau problème, j'ai la ligne XML suivante :
<value><![CDATA[<Values:boolean type="boolean" xmlns:Values="Values.xsd"><Values:value>false</Values:value></Values:boolean>
]]></value>
Avec le code suivant je récupère la valeur de la ligne et je la modifie et je sauvegarde le fichier XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Iterator = xPathNav.Select(xPathNav.Compile("/campaignloader/campaign/parameter/parameter/parameter/value"));
            Iterator.MoveNext();
            //Console.WriteLine(GetValueToSet(Iterator.Current.Value, "!!!!!Valeur Modifié!!!!!"));
            Iterator.Current.SetValue(GetValueToSet(Iterator.Current.Value, "!!!!!Valeur Modifié!!!!!"));
            xPathDoc.Save(CurrentPath);
La fonction appelée :
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
private string GetValueToSet(string OriginalValue, string NewValue)
        {
            string[] valuesplit;
            string ValueToModify = "";
            char[] sep = new char[2];
            sep[0] = '<';
            sep[1] = '>';
 
            valuesplit = OriginalValue.Trim().Split(sep);
            foreach (string value in valuesplit)
            {
                if (value.Trim() != "" && !value.Trim().StartsWith("Value") && !value.Trim().StartsWith("/Value"))
                {
                    ValueToModify = value.Trim();
                }
            }
 
            return "<![CDATA[" + OriginalValue.Replace(ValueToModify, NewValue) + "]]>" ;
        }
Donc lorsque je sauvegarde, j'obtiens ceci dans mon fichier :
<value>&lt;![CDATA[&lt;Values:boolean type="boolean" xmlns:Values="Values.xsd"&gt;&lt;Values:value&gt;!!!!!Valeur Modifié!!!!!&lt;/Values:value&gt;&lt;/Values:boolean&gt;
]]&gt;</value>
Alors que si je décommente la ligne pour afficher sur la console, j'obtiens bien :
<![CDATA[<Values:boolean type="boolean" xmlns:Values="Values.xsd"><Values:value>!!!!!Valeur Modifié!!!!!</Values:value></Values:boolean>
]]>
Je suis un peu perplexe, et je n'ai pas trouvé d'information concernant ce problème sur le net pour l'instant.

Vais je devoir me passer d'XPath et éditer le fichier comme un fichier texte ???
Cela serait vraiment con