我有一个包含以下结构的 xml 文件
<Planet>
<Continent name="Africa">
<Country name="Algeria" />
<Country name="Angola" />
...
</Continent>
</Planet>
我需要在其中添加包含城市的其他大陆标签。这是我的代码:
public static string continent;
public static List<string> countries = new List<string>();
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"D:\Projects IDE\Visual Studio\Tutorial\e-commerce\classModeling\GenerateXml file\GenerateXml file\bin\Debug\Planet.xml");
XmlNode xNode = xDoc.CreateNode(XmlNodeType.Element, "Continent", "");
XmlAttribute xKey = xDoc.CreateAttribute("name");
xKey.Value = continent;
xNode.Attributes.Append(xKey);
xDoc.GetElementsByTagName("Planet")[0].InsertAfter(xNode , xDoc.GetElementsByTagName("Planet")[0].LastChild);
foreach (var country in countries)
{
XmlElement root = xDoc.CreateElement("Country");
XmlAttribute xsKey = xDoc.CreateAttribute("name");
xsKey.Value = country;
root.Attributes.Append(xKey);
}
xDoc.Save(@"D:\Projects IDE\Visual Studio\Tutorial\e-commerce\classModeling\GenerateXml file\GenerateXml file\bin\Debug\Planet.xml");
我的代码创建了所有标签,但不添加属性。
在任何人询问大陆变量和国家列表包含所需项目之前,我只是觉得不需要显示代码二的那部分。
我在这里做错了什么?
编辑
我设法纠正了代码,现在它工作了,属性没有出现,因为我给节点属性和元素属性都赋予了相同的名称,我更改了名称,现在它可以工作了。