在XmlDocument中按名称搜索节点

我正在尝试使用以下代码在XmlDocument中按名称查找节点:

private XmlNode FindNode(XmlNodeList list, string nodeName) { if (list.Count > 0) { foreach (XmlNode node in list) { if (node.Name.Equals(nodeName)) return node; if (node.HasChildNodes) FindNode(node.ChildNodes, nodeName); } } return null; } 

我用以下函数调用该函数:

 FindNode(xmlDocument.ChildNodes, "somestring"); 

由于某种原因,它总是返回null,我不确定为什么。 有人可以帮我解决这个问题吗?

改变这一行:

 if (node.HasChildNodes) FindNode(node.ChildNodes, nodeName); 

至:

 if (node.HasChildNodes) { XmlNode nodeFound = FindNode(node.ChildNodes, nodeName); if (nodeFound != null) return nodeFound; } 

编辑:现在代码更正确(测试);)

你为什么不能用

 Node.SelectSingleNode(".//" + nodeName)