You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中使用SelectSingleNode按值选取XML单个子节点问题

选取name为"Johnny Dapp33"的employee节点的XPath解决方案

直接用下面的XPath表达式就能精准定位目标节点:
//employee[name='Johnny Dapp33']

表达式说明

  • //employee:遍历XML文档中所有的employee节点(不管层级位置)
  • [name='Johnny Dapp33']:过滤出子节点name的文本内容恰好等于"Johnny Dapp33"的employee节点

示例代码(以C#为例)

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("你的XML文件路径");
// 执行节点选择
XmlNode targetEmployee = xmlDoc.SelectSingleNode("//employee[name='Johnny Dapp33']");

if (targetEmployee != null)
{
    // 成功找到节点,这里可以添加你的业务逻辑
    Console.WriteLine($"找到目标节点,ID为:{targetEmployee.Attributes["id"].Value}");
}
else
{
    Console.WriteLine("未找到匹配的节点");
}

注意事项

如果name节点的文本前后存在多余空格(比如换行、制表符),可以用normalize-space()处理空格后再匹配:
//employee[normalize-space(name)='Johnny Dapp33']

你的XML里虽然bar命名空间存在,但employee和name节点都不属于该命名空间,所以不需要额外处理命名空间的映射。

内容的提问来源于stack exchange,提问作者WizardZZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 13:35:00