xml – XPath选择多个标签

前端之家收集整理的这篇文章主要介绍了xml – XPath选择多个标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定这个简化的数据格式:
<a>
    <b>
        <c>C1</c>
        <d>D1</d>
        <e>E1</e>
        <f>don't select this one</f>
    </b>
    <b>
        <c>C2</c>
        <d>D2</d>
        <e>E1</e>
        <g>don't select me</g>
    </b>
    <c>not this one</c>
    <d>nor this one</d>
    <e>definitely not this one</e>
</a>

你如何选择所有的Cs,Ds和Es是B元素的子项?

基本上,类似:

a/b/(c|d|e)

在我自己的情况下,而不是只是a / b /,查询导致选择那些C,D,E节点实际上是相当复杂,所以我想避免这样做:

a/b/c|a/b/d|a/b/e

这可能吗?

一个正确的答案是:
/a/b/*[self::c or self::d or self::e]

请注意这一点

a/b/*[local-name()='c' or local-name()='d' or local-name()='e']

是太长和不正确​​。此XPath表达式将选择如下节点:

OhMy:c

NotWanted:d 

QuiteDifferent:e
原文链接:https://www.f2er.com/xml/294096.html

猜你在找的XML相关文章