zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006
-
24 avril 2006 à 11:58
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006
-
25 avril 2006 à 17:11
salut tout le monde.
j'ai un projet pu je drois ajouterle contenu d'un fichier XML à lafin d'un autre fichier XML.
j'ai fait une interface ou je selectionne les deux fichiers dans des textBOx
et après j'ai fait un bouton qui permet de faire la copie mais je sais pas koi
mettre dedans.
en fait je suis nouveau en C# j'aimerais bien avoir un exemple d'une fonction qui permet de faire cela.
merci à tous j'attends avec impatience vos conseils.
XmlDocument src = new XmlDocument();
XmlDocument dest = new XmlDocument();
src.Load(srcFilePath);
dest.Load(destFilePath);
// sélection des noeuds à déplacer et du noeud qui les recevra.
XmlNodeList nodesToMove = src.SelectNodes("/deplacements/deplacement");
XmlNode destParentNode = dest.SelectSingleNode("/deplacements");
// copie des noeuds
int nodesCount = nodesToMove.Count;
for ( int i=0; i<nodesCount; i++)
{
XmlNode nodeToMove = nodesToMove[i];
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 24 avril 2006 à 14:36
en fait j'ai un ficher xml de la forme:
<deplacements>
<date></date>
<villed></date>
<villea></villea>
<km></km>
<typed></typed>
<com></com>
</deplacemnts>
et je veux copier tous les deplacements qui se trouve dans le premier fichier xml à la fin du second fichier XML.
alors comment je dois faire dans l'exemple qui est sur le site msdn il n'ya pas la propriété qui copie tous les éléments par exemple.
XmlNode newBook = doc2.ImportNode(doc1.DocumentElement.LastChild, true);
doc.DocumentElement.AppendChild(newBook);
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 24 avril 2006 à 16:20
salut,
je voulais être sûr de l'idéee que je veux faire c'est pour ca que je demande
ton conseil à propos de ce code qui prend le nom de deux fichiers xml rentrés dans deux textbox pour ajouter le premier au deuxiéme:
XmlDocument doc1 = new XmlDocument();
doc1.Load("'" + textBox1.Text+"'");
XmlDocument doc2 = new XmlDocument();
doc1.Load("'" + textBox2.Text + "'");
XmlNode newBook = doc2.ImportNode(doc1.GetElementsByTagName("Deplacements"),true);
doc2.DocumentElement.AppendChild(newBook);
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 24 avril 2006 à 17:51
le code quej'ai mis en haut ne marche pas
car je récupére pas bien le nom du fichier XML qui est sur le textbox par doc1.Load(""+textBOX1+"");
aidez moi à me sortir de ce pepin.
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 09:55
doc1.Load("'" + textBox1.Text+"'");
en fait je voulais charger le chemin du fichier XML qui est entré dans le textbox1 mais ça marche pas.
merci beaucoup pour m'avoir répondu .
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 11:27
merci beaucoup pour vous les gars.
j'ai encore un autre petit souci c'est que je développe une petite application pour un pda le probléme c'est que je quand je remplis les données d'un formulaire correspondant aux données du fichier xml que m'a filé le coq , il ya un bouton enregistrer qui crée le fichier xml avec les données s'il n'est pas crée sinon il ajoute les données entrées dans le formulaire au fichier xml.
mon problème c'est que je peux pas accéder au fichier crée dans l'emulateur pour voir sa structure.
voici le code que j'ai fait mais qui marche pas:
étape 1:
XmlTextWriter xtw;
try
{
xtw = new XmlTextWriter("\\test.xml", System.Text.Encoding.UTF8);
xtw.Formatting = Formatting.Indented;
xtw.Indentation = 4;
xtw.WriteStartDocument(true);
xtw.WriteStartElement("Deplacements");
xtw.WriteElementString("date", dateTimePicker1.Text);
xtw.WriteElementString("villed", textBox1.Text);
xtw.WriteElementString("villea", textBox2.Text);
xtw.WriteElementString("km", textBox3.Text);
xtw.WriteElementString("typed", comboBox1.Text);
xtw.WriteElementString("com", textBox5.Text);
xtw.WriteEndElement();
xtw.Flush();
xtw.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
étape 2:
try
{
DataSet ds = new DataSet();
ds.ReadXml("\\test.xml");
// c'est plus simple comme ça .. enfin tu fais comme tu veux
DataRow row = ds.Tables[0].NewRow();
//Ajout des valeurs dans la table.
row["Date"] = dateTimePicker1.Text;
row["Villed"] = textBox1.Text;
row["villea"] = textBox2.Text;
row["km"] = textBox3.Text;
row["typed"] = comboBox1.Text;
row["com"] = textBox5.Text;
ds.Tables[0].Rows.Add(row);
ds.WriteXml("\\test.xml");
Form1 fm1 = new Form1();
fm1.Form1_Load(sender, e);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
{
}
}
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 25 avril 2006 à 16:46
Pour t'aider il faudrait avoir plus d'infos que "ça ne marche pas", comme par exemple la ligne de code qui lève l'exception, ou encore l'exception levée.
zikofs
Messages postés63Date d'inscriptionmercredi 12 avril 2006StatutMembreDernière intervention 6 juillet 2006 25 avril 2006 à 17:11
en fait j'ai un formulaire et un bouton enregistrer
j'aimerais que lorsque je clique sur le bouton enregistrer de créer un fichier xml
avec les données du formulaire dedans et si il est crée de lui ajouter les données du formulaire.
le fichier xml j'aimerais l'avoir comme ca:
<?xml version="1.0" encoding="utf-8" ?>
<deplacements>
<deplacement>
<date>01/01/01</date>
<villed>A</villed>
<villea>B</villea>
<km>200</km>
<typed />
<com />
</deplacement>
<deplacement>
<date>02/02/02</date>
<villed>B</villed>
<villea>A</villea>
<km>100</km>
<typed />
<com />
</deplacement>
</deplacements>
le problème c'est que le code que j'ai mis en haut marche mais apès quelques traitements dans le fichier xml , le fichier est bloqué et n'affiche pas les enregistrements qu'il ya dedans.
aidez moi à me sortir de ce problème.