我有类似的东西:
XmlDocument doc = new XmlDocument();
doc.Load(@"D:\filter.xml");
string filter1 = doc.SelectSingleNode("filter/f1").InnerText;
string filter2 = doc.SelectSingleNode("filter/f2").InnerText;
string filter3 = doc.SelectSingleNode("filter/f3").InnerText;
string filter4 = doc.SelectSingleNode("filter/f4").InnerText;
string filter5 = doc.SelectSingleNode("filter/f5").InnerText;
string filter6 = doc.SelectSingleNode("filter/f6").InnerText;
等等......我的问题是如何在循环中生成这些字符串?类似于。
XmlDocument doc = new XmlDocument();
doc.Load(@"D:\filter.xml");
for (int i = 0; i < 7; i++)
{
string filter + i = doc.SelectSingleNode("filter/f" + i).InnerText;;
}
答案 0 :(得分:4)
填写List<string>
:
List<string> filterList = new List<string>();
for (int i = 0; i < 7; i++)
{
filterList.Add(doc.SelectSingleNode("filter/f" + i).InnerText);
}
现在你可以通过索引来访问它们了。过滤器5:
string filter5 = filterList[4]; // zero based
答案 1 :(得分:3)
您想要使用集合,例如List<string>
:
XmlDocument doc = new XmlDocument();
doc.Load(@"D:\filter.xml");
var myList = new List<strinig>;
for (int i = 0; i < 7; i++)
{
myList.Add(doc.SelectSingleNode("filter/f" + i).InnerText);
}
然后您可以通过引用字符串的索引来使用该列表:
myValue = myList[3];
答案 2 :(得分:2)
使用Collection存储String,这就是如何从XML中将字符串添加到集合中。
doc.Load(@"D:\filter.xml");
List<string> filter = new List<string>();
foreach (XmlNode item in doc.SelectSingleNode("filter").ChildNodes)
{
filter.Add(item.InnerText.ToString());
}
希望这会有所帮助。