I’ve been messing around with the following code to add each node in an xml fileto a dropdown list but with incorrect results so far.
XmlDocument XmlDoc = new XmlDocument();
XmlDoc.Load(Server.MapPath("~/Upload/" + FileUpload1.FileName));
XmlNodeList question = XmlDoc.GetElementsByTagName("row");
foreach(XmlNode Node in question)
{
string answer = Node["var"].Attributes["name"].InnerText;
string ques = Node["var"].InnerText;
DropDownList1.Items.Add(new ListItem(answer, ques));
}
Here is my xml file
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
<row>
<var name="Name" value="Garcia" />
<var name=" Surname" value=" Jose" />
<var name=" Country" value=" Cuba" />
<var name=" Job" value="Software Developer" />
<var name=" Cabin" value="345A" />
</row>
<row>
<var name="Name" value="Lenon" />
<var name=" Surname" value="Tim" />
<var name=" Country" value="USA" />
<var name=" Job" value="SoftwareDeveloper" />
<var name=" Cabin" value="444" />
</row>
<row>
<var name="Name" value="Rusell" />
<var name=" Surname" value=" Anthony" />
<var name=" Country" value=" UK" />
<var name=" Job" value="Web Designer" />
<var name=" Cabin" value="345" />
</row>
<row>
<var name="Name" value="Wolf" />
<var name=" Surname" value=" Werner" />
<var name=" Country" value=" Germany" />
<var name=" Job" value="Linux IT" />
<var name=" Cabin" value="234 " />
</row>
</root>
What I need to do is just populate a drop down list with the values Name,Surname,Country,Job and Cabin,so the user can select these values to manipulate the data. I realise with the answer tag im accessing the values also I was trying different things from code ive saw.
The results im getting in my dropdown list from this code is
Name
Name
Name
Name
Im adding the first attribute of each node, but what I need to do is add every value from just one node. NOTE: The xml files il be working with will have different values and names etc so hardcoding is not an option.
If anyone could help Id appreciate it, thank you.
1 Answer