У меня есть XML-файл, у меня есть узел, и я читаю все дочерние узлы. Имя childNode соответствует переменной, которую я должен установить со значением этого дочернегоNode.Преобразование строки в переменное имя
В цикле, я хотел бы установить:
- MyVar1 в MyValue1
- myvar2 в MyValue2
C# Код:
protected string myvar1;
protected string myvar2;
XML-контент смотреть например:
<parameters>
<myvar1>MyValue1</myvar1>
<myvar2>MyValue2</myvar2>
</parameters>
C# набор переменных:
foreach (var item in xmlParamInstallation.SelectNodes("parameters")[0].ChildNodes)
{
??????
}
Любая идея?
Спасибо,
UPDATE 1: значение "поле" в цикле равна нулю все время.
public class ParametersTest
{
public string myvar1 { get; set; }
public string myvar2 {get; set;}
}
var type = typeof(ParametersTest);
foreach (XmlNode item in xmlParamInstallation.SelectNodes("parameters")[0].ChildNodes)
{
var field = type.GetField(item.LocalName);
field.SetValue(field, item.InnerText);
}
не могли бы вы просто использовать 'XmlSerializer' сделать это? Это более эффективно, чем использование отражения вручную. – Groo