鉴于这种简化的数据格式:
<;a>;
<;b>;
<;c>;C1</c>;
<;d>;D1</d>;
<;e>;E1</e>;
<;f>;不要选择此选项</f>;
</b>;
<;b>;
<;c>;C2</c>;
<;d>;D2</d>;
<;e>;E1</e>;
<;g>;不要选择我</g>;
</b>;
<;c>;不是这个</c>;
<;d>;也不是这个</d>;
<;e>;绝对不是这个</e>;
</a>;
如何选择B元素的子元素Cs、Ds和Es
基本上是这样的:
a/b/(c | d | e)
在我自己的情况下,导致选择C、D、E节点的查询实际上相当复杂,因此我希望避免这样做:
a/b/c | a/b/d | a/b/e
这可能吗
一个正确答案是:
/a/b/*[self::c或self::d或self::e]
请注意这一点
a/b/*[local-name()='c'或local-name()='d'或local-name()='e']
太长且不正确。此XPath表达式将选择以下节点:
电阻:c
不通缉:d
完全不同:e