2013-05-17 8 views
18

であることを確認するには、ある値で始まる値を選択するXpath式が必要です。このインスタンスでは、idフィールドを使用しています。Xpath式で始まる値が

@id=[starts-with(name(),'value') 

次のコードは機能しません。タグ間の値で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> 
+1

を動作するはずだと思いますか? –

+2

'='を削除してください。 – choroba

+0

@chorobは、タグ内の値ではなく、属性タグと一致しませんか?私はタグ内の値の後ろです。タグ名でない – Will

答えて

32

私はこのXPathはこれによって一致する必要がありますどのようなXML //id[starts-with(text(),'Annotaions')]

+9

+1ですが、 'text()'ではなく '.'を使用することをお勧めしますが、' // id [starts-with(。、 'whatever')] 'です。一般的なルールとして、XPath式で 'text()'を使わないようにする必要があります。これは、「すべてのテキストノードの子の集合」(または「文字列として扱う場合は...の最初のテキストノードの子)」を意味することに注意してください。必ずしも「テキストの値... " –

+0

@IanRoberts素敵な追加 – Ievgen