2016-10-08 1 views
0

私はダイナミックバージョン

book = root.SelectSingleNode("descendant::bk:book[bk:author/bk:last-name='Atwood']", nsmgr); 

と、静的な方法でXMLファイル内の要素をアドレスすることが可能であることを知っています。

同様の手法を使用する方法がありますが、動的アドレス指定があります。例えば。 where'Atwood 'は動的文字列ではなくconst文字列ではありません。

ありがとうございます。

ところで:SelectSingleNode()が受け取るMicrosoft help site

+1

あなただけの 'String.Format'は、変数の値を埋め込むと「クエリ」というを構築するために(例えば)「形式」プレースホルダの文字列と使用を持っていないことはできますか? – Sehnsucht

+0

Perfect Sehnsucht。ありがとうございました。 – MKFein

答えて

2

XPath式から例は単なる文字列です。コメントで述べたようにString.Format() ...

lastname = "Atwood" 
query = "descendant::bk:book[bk:author/bk:last-name='" & lastname & "']" 
book = root.SelectSingleNode(query, nsmgr) 

:あなたは、VBすなわち、単純な文字列連結で動的に文字列を構築するための適用任意のアプローチを使用することができるはず

lastname = "Atwood" 
query = "descendant::bk:book[bk:author/bk:last-name='{0}']" 
book = root.SelectSingleNode(String.Format(query, lastname), nsmgr) 

...または新しいを使用して参考

lastname = "Atwood" 
query = $"descendant::bk:book[bk:author/bk:last-name='{lastname}']" 
book = root.SelectSingleNode(query, nsmgr) 

:VB 14、列補間から特徴