2016-12-25 5 views
0

私はXPATHの文法に関連する次の質問を持っているが、私はエラーが発生している場所のあなたの種類の表示を認めるsyntaxis //@id場合、それは、正しい結果を返します。私はそれが私のために動作しません、それはより具体的にするためにstarts-withを使用したい、私はしようとしている:XPathは不便開始-と

//*[@id(starts-with(.,17))] 
//*@id[starts-with(.,17)] 
エラーことができ

答えて

1

@id()が有効なXPath式ではないため、最初に試行されたXPathは機能しません。おそらく[]を使用してここに述語を作成することを意味します。 2回目の試行では、次の部分は有効なXPath式として認識されません:*@id。もう1つはstarts-with()で、両方のパラメータがstring型であると想定しています。

//*[@id[starts-with(.,'17')]] 

次のように上記のXPathはビットを簡素化することができます:

//*[starts-with(@id,'17')] 

あなたはするつもりならば、これらのエラーを修正することは、あなたに正しくid属性値が17で始まる要素を返しますXPathを取得します要素の代わりにid属性自体を返します。次に、他の答えに記載されているようにXPathを変更する必要があります。

//@id[starts-with(.,'17')] 
関連する問題