代码之家  ›  专栏  ›  技术社区  ›  Gandalf StormCrow

如何使用xpath获取节点

  •  1
  • Gandalf StormCrow  · 技术社区  · 14 年前

    当我有两组节点具有相同的元素名时,例如:

    <contacts>
        <names>
          ...
        </names>
        <names>
          ...
        </names>
    </contacts>
    

    通常我会用 //contacts/names 获取节点,但是如果它们具有相同的名称,我该怎么做?如何获取第二个、第一个或第n个?

    3 回复  |  直到 14 年前
        1
  •  0
  •   xil3    14 年前

    您可以这样做来获得第一个和/或第二个:

    //contacts/names[1]
    //contacts/names[2]
    
        2
  •  1
  •   Dimitre Novatchev    14 年前

    对于提供的XML文档,请使用:

    /contacts/names[1]
    

    上面选择第一个 names 元素。

    /contacts/names[2]
    

    上面选择第二个 姓名 元素。

    尽量避免使用 // 尽可能多的缩写 因为它通常效率非常低,所以会导致遍历上下文节点中保护的所有(子)树。

        3
  •  0
  •   Wesley Wiser    14 年前

    使用//联系人/姓名[n]获取第n个姓名节点。例如://contacts/names[1]获取“名字”节点,//contacts/names[2]获取“第二个名字”节点等。