Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Declaring multiple strings from code

Tags:

c#

xmldocument

I have something like:

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;

And so on...My question is how could I generate these strings in a loop?something like.

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;;        
}
like image 975
John Pietrar Avatar asked Apr 16 '26 21:04

John Pietrar


2 Answers

Fill a List<string>:

List<string> filterList = new List<string>();
for (int i = 0; i < 7; i++)
{
    filterList.Add(doc.SelectSingleNode("filter/f" + i).InnerText);
}

Now you can access them via index, f.e. filter 5:

string filter5 = filterList[4]; // zero based
like image 142
Tim Schmelter Avatar answered Apr 19 '26 11:04

Tim Schmelter


You want to use a collection, like 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);     
}

Then you can use the list by referencing a string's index:

myValue = myList[3];
like image 39
rory.ap Avatar answered Apr 19 '26 10:04

rory.ap



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!