webForumDet fria alternativet

Problem med att läsa XML

1 svar · 779 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Jag försöker att utvekla en liten sak i c#. När jag öppnar en folderbrowser
och väljer en fil, så vill jag att folderbrowsern skall komma ihåg det.

Så här försöker jag att uppdatera xml-filen:

//så här ser xml-filen ut

<?xml version="1.0" encoding="UTF-8"?>
-<Game> 
-<Empire> 
<Path>D:\Sparade_Filer\förSpel\TotalWar\Empire\Moding</Path> 
</Empire> 
-<Napoleon> 
<Path>D:\Sparade_Filer\förSpel\TotalWar\Empire\Moding</Path> 
</Napoleon> 
</Game>

//OBS detta fungerar inte för mig
public static string UppdateXML(string game, string path)
        {//Uppdatera XML fungerar bra
            try
            {
                string sDoc = Application.StartupPath.ToString() + "\\XMLFile.xml";
                XmlDocument myXmlDocument = new XmlDocument();
                myXmlDocument.Load(sDoc);
                XmlNode node;
                node = myXmlDocument.DocumentElement;
                foreach (XmlNode node1 in node.ChildNodes)
                    foreach (XmlNode node2 in node1.ChildNodes)
                        if (node2.Name == game)
                        {
                            node2.InnerText = path;
                        }
                myXmlDocument.Save(sDoc);
            }
            catch (Exception fel)
            {
                MessageBox.Show(fel.Message);
            }
            return game;
        }

Jag har letat runt länge och försökt att förstå XML-dokumenten, men ju mera
jag läser ju mindre förstår jag.
Jag vore väldigt tacksam om någon ville hjälpa mig här. :OO

sawMedlem sedan mars 20011 880 inlägg
#2

Jag trar att jag har lyckats.

public static string UppdateXML(string game, string path)
        {//Uppdatera XML fungerar bra
            try
            {
                string sDoc = Application.StartupPath.ToString() + "\\XMLFile.xml";
                XmlDocument myXmlDocument = new XmlDocument();
                myXmlDocument.Load(sDoc);
                XmlNodeList elemList = myXmlDocument.GetElementsByTagName(game);
                for (int i = 0; i < elemList.Count; i++)
                {
                    elemList[i].InnerXml = path;
                }
                myXmlDocument.Save(sDoc);
            }
            catch (Exception fel)
            {
                MessageBox.Show(fel.Message);
            }
            return game;
        }
125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)