xml 未将对象引用设置到对象的实例,该怎么处理

xml 未将对象引用设置到对象的实例

<Lands>
  <Land>北京</Land>
  <Land>天津</Land>
  <Land>上海</Land>
  <Land>长沙</Land>
</Lands>

有这样一个xml结构!

string land="";
XmlNodeList lndNode=xmlResult.SelectSingleNode("//Lands").ChildNodes;
foreach(XmlNode node in lndNode)
 {
    land+=node.SelectSingleNode("Land").InnerText;//未将对象引用设置到对象的实例
 }

这样解析就报错

string land="";
//XmlNodeList lndNode=xmlResult.SelectSingleNodes("Land");//这也试过
XmlNodeList lndNode=xmlResult.SelectSingleNode("//Lands").ChildNodes;
foreach(XmlNode node in lndNode)
 {
    land+=node.SelectSingleNode("//Land").InnerText;//加了双斜杠
 }

这样解析不出错,但是获取的一直都是第一项.即:北京|北京|北京|北京|
该如何解析该xml串,才能得到lands中的所有数据呢?
------解决思路----------------------
node 已经是当前节点,如下操作
foreach (XmlNode node in lndNode)
                {
                    land += node.InnerText;//未将对象引用设置到对象的实例
                }

------解决思路----------------------
第一个出错是因为Xpath表达式"Land"表示当前元素下的Land元素,而当前的某些元素已经是Land元素了,所以找不到,返回null。
第二个正确是因为Xpath表达式"//Land"表示整个文档中所有的Land元素,跟当前元素无关,所以自然能找到。因为你用的是SelectSingleNode,只返回第一个结果,所以始终是”北京“。