求一xpath表达式

sunboy_yf 2010-12-29 05:08:47
<?xml version="1.0" encoding="GB2312"?>
<BarCodeInfos IsPrint="1">
<Date value="2010-12-29">
<BarCodeInfo value="" valueNew="000000000312" deptName="A" />
<BarCodeInfo value="" valueNew="000000000313" deptName="地方" />
<BarCodeInfo value="" valueNew="000000000314" deptName="地方的" />
<BarCodeInfo value="" valueNew="000000000315" deptName="大幅度发" />
<BarCodeInfo value="" valueNew="000000000316" deptName="反对" />
<BarCodeInfo value="" valueNew="000000000317" deptName="大幅度发" />
</Date>
</BarCodeInfos>

就是想检索出来valueNew="000000000312"的条件来检索出来deptName的值。
我写了一个但是报错,
xmlDoc.SelectSingleNode("//[@valueNew='" + sanReturnListData.BarCode + "']");
sanReturnListData.BarCode是条码的值

谢谢各位。
...全文
49 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2010-12-29
  • 打赏
  • 举报
回复
XmlNode node = doc.SelectSingleNode("//BarCodeInfo[@valueNew='" + sanReturnListData.BarCode + "']/@deptName");
billsquall 2010-12-29
  • 打赏
  • 举报
回复
firefox上有个xpather的插件,直接右键点击,选择xpath就能看到了
福来哥 2010-12-29
  • 打赏
  • 举报
回复
那再试试这样写

xmlDoc.SelectSingleNode(@"//BarCodeInfos/Date/BarCodeInfo[@valueNew='" + sanReturnListData.BarCode + "']").Attributes["deptName"].value

上面用的是绝对路径。
sunboy_yf 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 feg545 的回复:]
xmlDoc.SelectSingleNode("//[@valueNew='" + sanReturnListData.BarCode + "']").Attributes["deptName"].value

好像是这样。。。
[/Quote]
这样也报错xpath的表达式有问题。
就是不知道这个表达式该怎么写。
福来哥 2010-12-29
  • 打赏
  • 举报
回复
xmlDoc.SelectSingleNode("//[@valueNew='" + sanReturnListData.BarCode + "']").Attributes["deptName"].value

好像是这样。。。
chengfellow 2010-12-29
  • 打赏
  • 举报
回复
"//BarCodeInfo[@valueNew='" + sanReturnListData.BarCode + "']"

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧