<?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是条码的值谢谢各位。

解决方案 »

  1.   

    "//BarCodeInfo[@valueNew='" + sanReturnListData.BarCode + "']"
      

  2.   

    xmlDoc.SelectSingleNode("//[@valueNew='" + sanReturnListData.BarCode + "']").Attributes["deptName"].value好像是这样
      

  3.   

    这样也报错xpath的表达式有问题。
    就是不知道这个表达式该怎么写。
      

  4.   

    那再试试这样写xmlDoc.SelectSingleNode(@"//BarCodeInfos/Date/BarCodeInfo[@valueNew='" + sanReturnListData.BarCode + "']").Attributes["deptName"].value上面用的是绝对路径。
      

  5.   

    firefox上有个xpather的插件,直接右键点击,选择xpath就能看到了
      

  6.   

    XmlNode node = doc.SelectSingleNode("//BarCodeInfo[@valueNew='" + sanReturnListData.BarCode + "']/@deptName");