Python 如何检索写在xpath括号内的数字

Python 如何检索写在xpath括号内的数字,python,xpath,Python,Xpath,我有一个关于xpath公式的问题 对于这样的xml模式: <root> <A> <B> <C> <A> <ParentD> <D> <D> <

我有一个关于xpath公式的问题

对于这样的xml模式:

<root>
    <A>
        <B>
            <C>
                <A>
                    <ParentD>
                        <D>
                        <D>
                    </ParentD>
                </A>
            </C>
        </B>
    </A>
    <A>
        <B>
            <C>
                <A>
                    <ParentD>
                        <D>
                        <D>
                    </ParentD>
                </A>
            </C>
        </B>
    </A>

例如,对于第一组A的第二个D: 我们有xpath:A[1]/B[1]/C[1]/A[1]/ParentD[1]/D[2]


我的问题是如何使用xpath获取“A[1]/B[1]/C[1]/*A[1]*/ParentD[1]/D[2]”中的数字“1”?

您可以为该A计算前面的同级A标记

count(//A[1]/B[1]/C[1]/A[ParentD[1]/D[2]]//preceding-sibling::A) + 1

您想要
1
是什么意思?您创建了xpath,对吗?为什么要使用所有的定位器?你不能使用像
//ParentD[1]/D[2]
这样的xpath吗?谢谢你们的回答。但我面临着一个场景,这意味着第二个a的位置号(我用粗体表示)现在等于1