より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

System.Xml.XmlDocumentのXPathは/で始めても始めなくてもいい

レガシーコードを見ていたら、System.Xml.XmlDocumentのSelectSingleNodeの引数とするXPathで一箇所だけ/で始まっていない箇所がありました。

なくていいのかなと以下のようなコードを書いてみましたが、あってもなくてもいいみたいですね。

using System;
using System.Xml;

public class Program { 
    public static void Main() { 
        var xml = new XmlDocument(); 
        xml.LoadXml("<root><a><b>are you happy?</b></a></root>"); 
        Console.WriteLine(xml.SelectSingleNode("root/a/b").InnerText); 
        Console.WriteLine(xml.SelectSingleNode("/root/a/b").InnerText); 
    } 
}

ちなみに私はつけない派でした。