xpath选择在xml文件的随机区域中重复的元素的内部文本

时间:2011-03-16 20:32:00

标签: c# xml xpath

我有一个xml文件,如从不MINDE字母案例。我感兴趣的是里面的元素......如果子元素中有一个元素,我不想算在内。

<document>
<tests>
<group>
  <number>
    <random>
      ....
      ....
      <pins>
      <pin>
        <number>1</number>
      </pin>
        <pin>
          <number>2</number>
          <result>
            <number>NOT INTERESTED</number>
          </result>
        </pin>
    </pins>
    </random>
  </number>
</group>


我按照以下方法获取我感兴趣的引脚(在本例中为1和2)

    public int GetNumberOfAllPins()
    {
        string xpath = "count(/Document//Pins/Pin/Number)";
        int num = Convert.ToInt32(nav.Evaluate(xpath));
        return num;        
    }

    public string[] GetNameOfAllPins()
    {
        string[] temp = new string[GetNumberOfAllPins()];
        XPathNodeIterator it = nav.Select("/Document//Pins/Pin/Number");

        int i = 0;
        while (it.MoveNext())
        {
            temp[i] = it.Current.Value;
            i++;
        }
        return temp;
    }

但是这些代码给我带来了奇怪的结果,有时候我会感兴趣的是更少或更多的元素。你会介意给我一些提示吗?

感谢。

1 个答案:

答案 0 :(得分:0)

很抱歉打扰但我发现了问题。我的XML文件中有一些相邻的元素。这段代码很好用!