我正在尝试构建一个 xpath 表达式来评估 XML 代码,然后仅当当前段落后跟编号列表时才匹配。
这是我的 XML:
<para><b>Some text</b></para>
<numlist>
<numlitem><para>List item #1</para></numlitem>
<numlitem><para>List item #2</para></numlitem>
<numlitem><para>List item #3</para></numlitem>
</numlitem>
我使用的 xpath 表达式是:
para[following-sibling::*[1]=numlist]
但是,这不会返回 true。如果我评估以下 xpath 表达式
para[following-sibling::*[1]
结果是“一些文字”。然而,由于 <b> 是 <para> 的孩子,我不希望这些结果。
以下表达式返回 true
para[following-sibling::numlist]
所以我知道它将 numlist 视为后续兄弟,但我只希望它在 <numlist> 是 <para> 之后的第一个兄弟时返回 true。
我正在使用一个 XML 软件应用程序,它根据元素的特定上下文和条件应用样式,其中 xpath 可用于确定。我试图弄清楚问题是否与软件有关(并且我需要提交错误报告),或者是否是我的 xpath 表达式的问题,我需要找出正确的表达式是什么。
任何帮助是极大的赞赏!