Click here to Skip to main content
15,910,121 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
<book>
  <cat id="08">
    <book id="a" name="india history"/>
    <book id="b" name="india history1"/>
    <book id="c" name="india history2"/>
    <book id="d" name="india history3"/>
    <book id="e" name="india history4"/>
    <book id="f" name="india history5"/>
    <book id="g" name="india history6"/>
    <book id="h" name="india history7"/>
    <book id="i" name="india history8"/>
    <book id="j" name="india history9"/>
    <book id="k" name="india history10"/>
  </cat>
  <cat id="01">

    <book id="a" name="india history"/>
    <book id="b" name="india history1"/>
    <book id="c" name="india history2"/>
    <book id="d" name="india history3"/>
    <book id="e" name="india history4"/>
    <book id="f" name="india history5"/>
    <book id="g" name="india history6"/>
    <book id="h" name="india history7"/>
    <book id="i" name="india history8"/>
    <book id="j" name="india history9"/>
    <book id="k" name="india history10"/>
  </cat>
  <cat id="02">
    <book id="a" name="india history"/>
    <book id="b" name="india history1"/>
    <book id="c" name="india history2"/>
    <book id="d" name="india history3"/>
    <book id="e" name="india history4"/>
    <book id="f" name="india history5"/>
    <book id="g" name="india history6"/>
    <book id="h" name="india history7"/>
    <book id="i" name="india history8"/>
    <book id="j" name="india history9"/>
    <book id="k" name="india history10"/>
  </cat>
  <cat id="03">
    <book id="a" name="india history"/>
    <book id="b" name="india history1"/>
    <book id="c" name="india history2"/>
    <book id="d" name="india history3"/>
    <book id="e" name="india history4"/>
    <book id="f" name="india history5"/>
    <book id="g" name="india history6"/>
    <book id="h" name="india history7"/>
    <book id="i" name="india history8"/>
    <book id="j" name="india history9"/>
    <book id="k" name="india history10"/>
  </cat>
  <cat id="04">
    <book id="a" name="india history"/>
    <book id="b" name="india history1"/>
    <book id="c" name="india history2"/>
    <book id="d" name="india history3"/>
    <book id="e" name="india history4"/>
    <book id="f" name="india history5"/>
    <book id="g" name="india history6"/>
    <book id="h" name="india history7"/>
    <book id="i" name="india history8"/>
    <book id="j" name="india history9"/>
    <book id="k" name="india history10"/>
  </cat>
</book>

above is my xml file and below is my code but its not binding

C#
protected void ddl_price_SelectedIndexChanged(object sender, EventArgs e)
   {
       var id = ddl_price.SelectedItem.Value;
       string path = Server.MapPath("XMLFile2.xml");

       var query = from st in XDocument.Load(path).Descendants("proudct")
                   where (st.Element("cat").Attribute("id").value).ToString() == id
                   select new { Name = st.Element("book").Attribute("name"),  id = st.Element("book").Attribute("id").Value };
       ddl_book.DataTextField = "Name";
       ddl_book.DataValueField = "id";
       ddl_book.DataSource = query;
       ddl_book.DataBind();
   }
Posted
Updated 25-Dec-13 22:25pm
v2

1 solution

please use this linq query to get result form your xml file.

C#
var query = (from q in XDocument.Load(path).Descendants("book").Descendants("cat")
                            .Where(q => q.Attribute("id").Value.ToString() == id)
                            .ToList().Descendants("book")
                      select new
                      {
                          Name = q.Attribute("name").Value ?? string.Empty,
                          ID = q.Attribute("id").Value ?? string.Empty
                      }).ToList();





C#
protected void ddl_price_SelectedIndexChanged(object sender, EventArgs e)
        {
            var id = ddl_price.SelectedItem.Value;
            string path = Server.MapPath("XMLFile2.xml");


            var query = (from q in XDocument.Load(path).Descendants("book").Descendants("cat")
                            .Where(q => q.Attribute("id").Value.ToString() == id)
                            .ToList().Descendants("book")
                         select new
                         {
                             Name = q.Attribute("name").Value ?? string.Empty,
                             ID = q.Attribute("id").Value ?? string.Empty
                         }).ToList();


            ddl_book.DataTextField = "Name";
            ddl_book.DataValueField = "ID";
            ddl_book.DataSource = query;
            ddl_book.DataBind();
        }
 
Share this answer
 
Comments
My 5+. I learned something. :)

Thanks,
Tadit
Tejas Vaishnav 27-Dec-13 5:18am    
Great..

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900