oui e l'ai fait ca, mais ca m'ajoute à chaque fois le même élément "Profil" avec le même id.
En faite je rentre mon id dans une textbox :
mais je voudrais avoir plusieurs élément profil avec un id différent du genre :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?xml version="1.0"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Profil id="ABC123">
<option1>true</option1>
<option2>false</option2>
</Profil>
<Profil id="test">
<option1>true</option1>
<option2>false</option2>
</Profil>
<Profil id="Profil1">
<option1>true</option1>
<option2>false</option2>
</Profil>
</root> |
en faisant ta solution j'ai toujours le même id.
J'ai trouvé une solution mais ca me remet l'entête xml à chaque fois et du coup ce n'est pas pratique et pas "joli" à tester par la suite :
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Profil id="test">
<option1>false</option1>
<option2>false</option2>
</Profil>
</root><?xml version="1.0"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Profil id="profil">
<option1>true</option1>
<option2>true</option2>
</Profil>
</root> |
Pour cela j'ai sortie le serializer et le list que j'ai mis dans la page_load :
1 2 3 4 5
| protected void Page_Load(object sender, EventArgs e)
{
liste = new List<Profil>();
serializer = new XmlSerializer(typeof(List<Profil>), new XmlRootAttribute("root"));
} |
Ensuite j'ai gardé le reste du code que tu m'a donné plus haut, et j'ai passé changer l'opion du fileMode en Append pour lire le fichier ou écrire dedans s'il existe (le Create m'écraser le précédant à chaque fois
using (FileStream fs = new FileStream(@"C:\inetpub\wwwroot\test\App_Data\XMLprofil.xml", FileMode.Append))
Partager