从代码中声明多个字符串

时间:2017-04-07 11:52:34

标签: c# xmldocument

我有类似的东西:

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;;        
}

3 个答案:

答案 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());
        }


希望这会有所帮助。