2015-09-11 3 views
0

Я хочу построить динамический операторский сменщик в цикле if. Я получаю оператор больше и меньше, чем от XML, и я храню его в словаре.Оператор изменения в зависимости от данных xml

private static IDictionary<string, Rule> machine = new Dictionary<string, Rule>(); 

Этот словарь хранит ключ вместе с классом 3 значений говорят (machineID (строка), InnerText (целое) и оператор (GreaterThan или LessThan))

В другом классе я пытаюсь получить InnerText и сравнивая его с Opeartor, который сохраняется, byt я сталкиваюсь с проблемой, которую даже оператор меняет для каждого xml-файла. SO Я хочу динамически изменять оператор в зависимости от значений словаря в приведенном ниже условии if.

if (actualrange > newrange) 
    machineHealth = false; 
else 
    machineHealth = true; 

XML:

<condition type="healthy" operator="greaterthan">100</condition> 
<condition type="healthy" operator="lessthan">30</condition> 

Я хочу изменить оператор (> или <) символов в состоянии, если выше, в зависимости от значения из XML каждый раз. Как это можно сделать.

+0

, без работы. '>' - специальный символ, поэтому вам нужно использовать U + 003E. См. Веб-страницу: https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references – jdweng

ответ

0

Попробуйте это

string input = "<condition type=\"healthy\" operator=\"greaterthan\">100</condition>"; 

      XElement condition = XElement.Parse(input); 

      XAttribute _type = condition.Attribute("type"); 
      _type.Value = "unhealthy"; 

      XAttribute _operator = condition.Attribute("operator"); 
      _operator.Value = "lessthan"; 

      condition.Value = "200";​ 
+0

@jdwend Я не получил код, который вы попросили. Является ли этот goin заменой операторов (>) в условии if в зависимости от значения оператора из xml? – Abb

Смежные вопросы