我正在尝试使用以下代码在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;
}
Run Code Online (Sandbox Code Playgroud)
我用以下函数调用该函数:
FindNode(xmlDocument.ChildNodes, "somestring");
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它总是返回null,我不确定为什么.有人可以帮我解决这个问题吗?
Tom*_*m W 21
你为什么不能用
Node.SelectSingleNode(".//" + nodeName)
Run Code Online (Sandbox Code Playgroud)
?
改变这一行:
if (node.HasChildNodes) FindNode(node.ChildNodes, nodeName);
Run Code Online (Sandbox Code Playgroud)
至:
if (node.HasChildNodes)
{
XmlNode nodeFound = FindNode(node.ChildNodes, nodeName);
if (nodeFound != null)
return nodeFound;
}
Run Code Online (Sandbox Code Playgroud)
编辑:现在代码更正确(测试);)
| 归档时间: |
|
| 查看次数: |
29079 次 |
| 最近记录: |