Attributes and count() in xpath expression

后端 未结 3 843
鱼传尺愫
鱼传尺愫 2021-01-26 21:48

Given the following XML file :


    
        3
        
    
    

        
3条回答
  •  情书的邮戳
    2021-01-26 22:26

    1- Find direct descendant of elements which are direct descendant of direct descendants of root element In this case

    /a/b[1]/c
    /a/b[1]/d
    
    /a/b[2]/c
    /a/b[2]/d
    /a/b[2]/f
    

    are your answer.

    2- all descendant (direct or indirect) element under first level of elements In this case

    /a/b[1]/c
    /a/b[1]/d
    
    /a/b[2]/c
    /a/b[2]/d
    /a/b[2]/d/e
    /a/b[2]/f
    

    are your answer.

    3- find all attributes which belong all descendants of direct descendants of first level elements In this case

    /b[1]/@n
    /b[1]/@o
    /b[1]/c/@p
    
    /b[2]/@n
    /b[2]/@o
    /b[2]/c/@p
    /b[2]/d/@q
    /b[2]/d/e/@r
    /b[2]/f/@s
    

    are your answer.

    As you can see here answer to 3rd case is 9, since you wrote it wrong. To make it return your must change it as count(/*/*/*/@*)

    EDIT: corrected indices as noted by Mimo.

提交回复
热议问题