可能な限り汎用コードを移植するために、XPathクエリービルダーを作成しようとしています。C#XML - XPathクエリービルダー - 動的にクエリーを作成する
これまでのところ、これは私が思い付いたものです:
private static string XpathQueryBuilder (string NodeName,string AttributeName = null, string AttributeValue = null)
{
string XpathAttr = "";
if (AttributeName != null)
if (AttributeValue != null)
XpathAttr = "[@" + AttributeName + "='" + AttributeValue + "']";
else
XpathAttr = "[@" + AttributeName + "='*']";
return "//" + NodeName + XpathAttr;
}
私はこの方法で参照の問題はしかし、この、場合、私は私が探したい複数の属性またはノードを持っているということです機能は動作しません。任意の数の属性および/またはノードを理論的に受け入れることができるXPathクエリを動的に作成する方法はありますか?
複数の属性と属性値を受け入れる関数を使用することが優先されます。これは、複数のノードよりも可能性が高いためです。
ありがとうございました!
KeyValuePairを渡さずに、リストを渡して属性を追加してループさせてみましょう。 –
james31rock
これは、おめでとうLinqプロバイダを作成する代わりに良い簡単な選択肢になります。私は鍵ペアのメカニズムを知らなかった。ありがとうございました。 –