Я пытаюсь создать XPath Query Builder, чтобы иметь общий код как можно более портативный.C# XML - XPath Query Builder - динамическое создание запроса
До сих пор, это то, что я придумал:
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
Это было бы неплохой альтернативой вместо создания провайдера Linust custome. Я не знал о механизме Key Pair. Спасибо. –