代码之家  ›  专栏  ›  技术社区  ›  flybywire

XPath表达式帮助

  •  0
  • flybywire  · 技术社区  · 15 年前

    我有这样一个xml文件:

    <students>
    <student name=....>
    </student>
    <student name=....>
    </student>
    <student name=....>
    </student>
    <student name=....>
        <failedcourses>
              ...
        </failedcourses>
    </student>
    <student name=....>
        <failedcourses>
              ...
        </failedcourse>
    </student>
    </students>
    

    我想知道那个人的名字 N 那个课程不及格的学生,我该怎么做?

    我想要一个有效的XPath表达式,我不关心性能。

    4 回复  |  直到 15 年前
        1
  •  2
  •   flybywire    15 年前

    (/student/failedcourses)[3]/../@name
    

    在本例中,n=3

        2
  •  2
  •   vtd-xml-author    15 年前
    (/students/student[failedcourses])[3]/@name
    
        3
  •  0
  •   Community CDub    4 年前

    您介意使用xquery吗?

    让$studentsWhoFailed:=$myxml/students/student/failed课程

    (语法可能不是100%正确,因为我还没有测试过它)

        4
  •  0
  •   Murph    15 年前

    嗯,只是为了好玩和多样化(而且已经很晚了,所以我不能保证语法):

    student[count(failedcourses) > 0][3]/@name