用于查找以...开头的值的Xpath表达式

Wil*_*ill 25 xpath

我需要一个Xpath表达式来选择以某个值开头的值.对于此实例,我使用id字段.

@id=[starts-with(name(),'value')
Run Code Online (Sandbox Code Playgroud)

以下不起作用.有没有办法使用带有标签之间值的starts-with命令?或者在xpath中有另一种选择匹配具有已知值的值的方法.

这是我想要深入研究的xml示例:

    <bean>
<id>AnnotationsBasedJMXAutoExporter</id>
<class>org.springframework.jmx.export.MBeanExporter</class>
<lazy-init>false</lazy-init>
        <property>assembler
                <!-- will create management interface using annotation metadata -->
    <bean>
Run Code Online (Sandbox Code Playgroud)

Iev*_*gen 43

我认为这个xpath应该可行 //id[starts-with(text(),'Annotations')]

  • +1,虽然我建议使用`.`而不是`text()`,即`// id [starts-with(.,'whatever')]`.作为一般规则,您应该避免在XPath表达式中使用`text()`,除非您确实需要它.请记住,它表示"...的所有文本节点子节点的集合"(或"如果您将其视为字符串,则为"的第一个文本节点子节点),这不一定与" ......的文字值 (13认同)