1

重複の可能性:
Java から XPath 変数を送信する

この式を実行すると:

    XPathExpression xpe = xpath.compile("//bb[name/text()='k2']/value");    

それは正常に動作します。

しかし、次のように(「k2」の代わりに)独自の変数を植えようとすると:

    XPathExpression xpe = xpath.compile("//bb[name/text()=" + c_name +"]/value");

tt は機能しません。

問題は、作業式の構文に「k2」が含まれているのに、2番目の構文がそのように表示されないことだと思います。

変数を正しく植える方法はありますか? String と Character[] の両方を入れてみましたがうまくいきません。

4

1 に答える 1

3
"//bb[name/text()='" + c_name +"']/value"

への参照を一重引用符で囲んでいることに注意してくださいc_name

あなたは、代替を使用すると主張することができますString.format()

 "//bb[name/text()='%s']/value".format(c_name)

より読みやすくなっています。

dogbane が指摘しているように、変数値に引用符自体が含まれている場合、これは機能しません。より複雑で安全なソリューションについては、この SO answerを参照してください。

于 2012-10-04T11:25:19.773 に答える