L'ajout de l'attribut existant XMLNodes

Salut, je suis en train d'ajouter un attribut à plusieurs balises dans un fichier xml existant.Voici la structure xml:

<Planet>
  <Continent ContinentName="Africa">
    <Country CountryName="Algeria" />
    <Country CountryName="Angola" />
     ...
  </Continent>
  <Continent ContinentName="Europe">
    <Country CountryName="France" />
    <Country CountryName="England" />
    ...
  </Continent>
  ...
</Planet>

Je suis en train d'ajouter un attribut Id à chaque pays balises.Voici mon code:

public static List<Cities> cities = new List<Cities>();

XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"D:\Projects IDE\Visual Studio\Tutorial\e-commerce\classModeling\GenerateXml file\GenerateXml file\bin\Debug\Planet.xml");
XmlAttribute xKey = xDoc.CreateAttribute("Id");
XmlElement root = xDoc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("//Country");
int count = 0;

foreach( XmlNode node in nodes ) {
    string name = node.Attributes["CountryName"].Value;

    foreach (var cityObj in cities)
    {
        xKey.Value = cityObj.cityInitial;

        if(name == cityObj.cityName)
        {
            count++;
            node.Attributes.Append(xKey);
            Console.WriteLine(count);
        }
    }

}

xDoc.Save(@"D:\Projects IDE\Visual Studio\Tutorial\e-commerce\classModeling\GenerateXml file\GenerateXml file\bin\Debug\Planets.xml");

Le problème est que ce code ajoute l'id du dernier élément dans le fichier XML.
Maintenant j'ai d'abord enseigné que c'est parce que seule condition est vrai, mais ensuite, j'ai ajouté un compteur et il s'avère que cette condition est vraie 179 fois.Si c'est le cas, pourquoi suis-je seul à attributt ajouté à la fin?

OriginalL'auteur Nistor Alexandru | 2012-11-30