Click here to Skip to main content
15,909,741 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,
I hace xml file Folders.xml,
HTML
<root>
<Folder name="Planning">
  <subfolder name="Meeting Minuts"/>
  <subfolder name="Weekly Report"/>
  <subfolder name="Monthaly Report"/>
  <subfolder name="Design Image"/>
</Folder>
<Folder name="Engineering">
  <subfolder name="Engineering1"/>
  <subfolder name="Engineering2"/>
  <subfolder name="Engineering3"/>
  <subfolder name="Engineering4"/>
</Folder>
<Folder name="Quality">
  <subfolder name="Quality1"/>
  <subfolder name="Quality2"/>
  <subfolder name="Quality3"/>
  <subfolder name="Quality4"/>
</Folder>
</root>

Planing, Engineering and quality are the combobox element. When user will select combobox as Planing the i need to dispaly all the subfolder in the planning, if he will select Quality then all the subfolder should display,

How can I get subelement of perticular parent,

What I have tried:

here is the code to get Parent element.
C#
XDocument myxml = XDocument.Load(@"Xml\Folders.xml");
            string str = string.Empty;
            foreach (XElement level1Element in XElement.Load(@"Xml\Folders.xml").Elements("Folder"))
            {
                str=(level1Element.Attribute("name").Value);
                Folders.Add(str);
            }
            cmb1.ItemsSource = Folders;
Posted
Updated 5-Feb-18 1:06am
v2

1 solution

Check this:

C#
string folder = "Quality";
var subfolders = myxml.Root.Elements("Folder")
		.Where(x=>x.Attribute("name").Value==folder)
		.SelectMany(x=>x.Elements("subfolder")
                                .Select(y=>y.Attribute("name").Value))
		.ToList();

Result:
Quality1 
Quality2 
Quality3 
Quality4 
 
Share this answer
 
Comments
Member 11859517 5-Feb-18 7:23am    
Thanks Maciej Los, Its orking as expected.
Maciej Los 5-Feb-18 7:25am    
Super! So, please accept my answer as a solution (green button).
Cheers
Maciej
Member 11859517 5-Feb-18 7:30am    
@Maciej Los Here I am seeing some Hard coded string like "Folder" this is the root element and "subfolder", can I get this also by code?
Maciej Los 5-Feb-18 7:37am    
What you mean?
If you want to get all Folder nodes to be able to filter it by name, you have to "define" a name of node...
Member 11859517 5-Feb-18 7:46am    
by name i am getting, Can we get "Folder"/"subfolder" string.

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