c# – 向现有XMLNode添加属性
发布时间:2020-12-16 01:51:34 所属栏目:百科 来源:网络整理
导读:您好我正在尝试在现有的xml文件中添加一个attribut到几个标签.这是xml结构: Planet Continent ContinentName="Africa" Country CountryName="Algeria" / Country CountryName="Angola" / ... /Continent Continent ContinentName="Europe" Country CountryN
您好我正在尝试在现有的xml文件中添加一个attribut到几个标签.这是xml结构:
<Planet> <Continent ContinentName="Africa"> <Country CountryName="Algeria" /> <Country CountryName="Angola" /> ... </Continent> <Continent ContinentName="Europe"> <Country CountryName="France" /> <Country CountryName="England" /> ... </Continent> ... </Planet> 我正在尝试为每个国家/地区代码添加Id attribut.这是我的代码: public static List<Cities> cities = new List<Cities>(); XmlDocument xDoc = new XmlDocument(); xDoc.Load(@"D:Projects IDEVisual StudioTutoriale-commerceclassModelingGenerateXml fileGenerateXml filebinDebugPlanet.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 IDEVisual StudioTutoriale-commerceclassModelingGenerateXml fileGenerateXml filebinDebugPlanets.xml"); 问题是此代码仅将id添加到XML文件中的最后一个元素. 解决方法
你应该放置XmlAttribute xKey = xDoc.CreateAttribute(“Id”);在循环内
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |