XmlDocument

XmlDocumentクラスを使用することで、XMLの作成や読み込みを容易に行えます。

XmlElement

GetElementsByTagName

指定の名前のタグを取得できます。

public virtual System.Xml.XmlNodeList GetElementsByTagName (string name);
GetElementsByTagName(String) - XmlElement.GetElementsByTagName Method (System.Xml) | Microsoft Docs

nameに一致したノードのリストが返されます。

サンプルコード

書き込み

XmlDocument document = new XmlDocument();

XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "utf-8", null); // XML宣言
XmlElement root = document.CreateElement("root");

document.AppendChild(declaration);
document.AppendChild(root);

XmlElement e1 = document.CreateElement("e1");
XmlElement e2 = document.CreateElement("e2");

e1.SetAttribute("a1", "10"); // 属性
e2.SetAttribute("a2", "20"); // 属性

root.AppendChild(e1);
root.AppendChild(e2);

XmlElement e3 = document.CreateElement("e3");
XmlText v3 = document.CreateTextNode("ABC");

e3.SetAttribute("a3", "30");
e3.AppendChild(v3);

e2.AppendChild(e3);

// ファイルに保存する
document.Save("sample.xml");

このコードは、次のようなファイルを出力します。

<?xml version="1.0" encoding="utf-8"?>
<root>
  <e1 a1="10" />
  <e2 a2="20">
    <e3 a3="30">ABC</e3>
  </e2>
</root>

読み込み

XmlDocument document = new XmlDocument();

// ファイルから読み込む
document.Load("sample.xml");

XmlElement root = document.DocumentElement;

XmlElement e1 = (XmlElement)root.ChildNodes[0];
XmlElement e2 = (XmlElement)root.ChildNodes[1];

string a1 = e1.GetAttribute("a1"); // "10"
string a2 = e2.GetAttribute("a2"); // "20"

bool b1 = e1.HasChildNodes; // false
bool b2 = e2.HasChildNodes; // true

XmlElement e3 = (XmlElement)e2.FirstChild;

string a3 = e3.GetAttribute("a3"); // "30"

XmlNode n3 = e3.FirstChild;
string v3 = n3.Value; // "ABC"
MSDN (Microsoft Developer Network) から検索