考虑这个XML(Adobe Premiere的.prproj文件的一部分,它们是gzip压缩的XML文件):
<PremiereData> <!-- root object -->
<Sequence>
<MarkerOwner>
<Markers ObjectRef="93"/>
</MarkerOwner>
...
<Markers ObjectID="93">
我希望按照Markers
中的ObjectRef
与ObjectID 93联系Sequence/MarkerOwner/Markers
元素。
我可以使用单个Xpath执行此操作,还是需要编写首先获取ObjectRef值的代码,以便使用该值创建第二个路径?
答案 0 :(得分:0)
以下XPath应返回Markers
元素,其中ObjectID
属性与ObjectRef
的{{1}}匹配:
/PremiereData/Sequence/MarkerOwner/Markers
<强> demo
强>
请注意,谓词中的//Markers[@ObjectID=/PremiereData/Sequence/MarkerOwner/Markers/@ObjectRef]
引用了根元素,以/PremiereData
开头(与/
或./PremiereData
对比,后者将搜索上下文元素PremiereData
,名为Markers
)。