次の構造を含む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");
私のコードはすべてのタグを作成しますが、属性を追加しません。
そして、誰かが大陸変数と国リストに必要な項目が含まれていると尋ねる前に、コード 2 のその部分を表示する必要はないと感じました。
ここで何が間違っていますか?
編集
私はなんとかコードを修正しましたが、ノード属性と要素属性の両方に名前を変更した同じ名前を付けたため、属性が表示されませんでした。