XML内のノードを選択する方法
XMLにおいてSelectNodesメソッドは、特定のXPath式に一致するノードの集合を選択して返す際に用いられます。SelectNodesメソッドはXmlNodeクラスのメンバであるため、XmlNodeオブジェクト経由で呼び出されます。SelectNodesメソッドは以下の形式で使用されます。
- XML文書
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/xml/file.xml");
- 問い合わせるノードを取得する:
XmlNodeList nodeList = xmlDoc.SelectNodes("XPathExpression");
XPathExpressionはXPath式で、クエリを実行するノードを選択します。例えば、次のXPath式を使用して、全てのノードを選択できます。
XmlNodeList nodeList = xmlDoc.SelectNodes("//book");
- 検索結果をすべて参照します:
foreach (XmlNode node in nodeList)
{
// 处理每个匹配的节点
}
以下は、SelectNodesメソッドを使用してXMLでノードを検索する方法を示す、完全な例です:
using System;
using System.Xml;
class Program
{
static void Main()
{
// 加载XML文档
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("path/to/xml/file.xml");
// 选择要查询的节点
XmlNodeList nodeList = xmlDoc.SelectNodes("//book");
// 遍历查询结果
foreach (XmlNode node in nodeList)
{
// 获取节点的属性值
string title = node.SelectSingleNode("title").InnerText;
string author = node.SelectSingleNode("author").InnerText;
string year = node.SelectSingleNode("year").InnerText;
// 输出节点的信息
Console.WriteLine("Title: " + title);
Console.WriteLine("Author: " + author);
Console.WriteLine("Year: " + year);
Console.WriteLine();
}
}
}
上記の例では、file.xml という XML ファイルを読み込んで、XPath 式 //book で全ての ノードを選択します。その後、これらのノードを反復処理し、各ノードのタイトル、著者、年を出力します。