考虑这个XML(Adobe Premiere的.prproj文件的一部分,这些文件是gzip XML文件(:
<PremiereData> <!-- root object -->
<Sequence>
<MarkerOwner>
<Markers ObjectRef="93"/>
</MarkerOwner>
...
<Markers ObjectID="93">
我喜欢按照 Sequence/MarkerOwner/Markers
中的ObjectRef
来使用 ObjectID 93 访问 Markers
元素。
我是否可以使用单个 Xpath 执行此操作,或者我是否需要编写代码来首先获取 ObjectRef 的值,以便使用该值创建第二个路径?
以下 XPath 应返回Markers
元素ObjectID
其中属性与/PremiereData/Sequence/MarkerOwner/Markers
ObjectRef
匹配:
//Markers[@ObjectID=/PremiereData/Sequence/MarkerOwner/Markers/@ObjectRef]
demo
请注意,谓词中的/PremiereData
引用它的根元素以 /
开头(将其与 ./PremiereData
或仅搜索上下文元素的子元素 Markers
的PremiereData
形成对比,命名为 PremiereData
(。