我有一個XML文件,我有一個節點,並且我讀取了所有的ChildNodes。 childNode的名稱與我必須用此childNode的值設置的變量相匹配。將字符串轉換爲變量名稱
在循環中,我想設置:
- 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)
{
??????
}
任何想法?
感謝,
更新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 2012-01-04 09:39:27