3 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
這取決于您使用XPath的語言。
在XSLT中:
"//a/b/c[x=$myParamForXAttribute]"
請注意,與上面的方法不同,下面的三個(gè)對(duì)XPath注入攻擊開放,決不能與不受控制或不受信任的輸入一起使用。為避免這種情況,請使用您的語言或庫提供的機(jī)制來帶外傳遞變量。 [ 信用:查爾斯達(dá)菲]
在C#中:
String.Format("//a/b/c[x={0}]", myParamForXAttribute);
在Java中:
String.format("//a/b/c[x=%s]", myParamForXAttribute);
在Python中:
"//a/b/c[x={}]".format(myParamForXAttribute)

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您的XPath庫提供了類似于XSLT的方式來解釋變量的工具,請使用它。由于OP最初并未說明他的語言/圖書館,所以我一般都會(huì)回答。許多初學(xué)者期望有一個(gè)純粹的XPath解決方案來將變量嵌入XPath中,但還沒有。因此,保留此一般答案很有價(jià)值。
添加回答
舉報(bào)