Reputation: 11
<City title="CityOne">
<Companies title="Comp1">
<Company>A</Company>
<Company>P</Company>
<Company>R</Company>
</Companies>
<Companies title="Comp2">
<Company>D</Company>
<Company>F</Company>
<Company>H</Company>
</Companies>
</City>
Like first create folder CityOne then under that two folders Comp1 & Comp2. Then under them respective folders A,P,R (under Comp1) D,F,H (under Comp2).
Please let me know how to do the same in C#
Upvotes: 0
Views: 675
Reputation: 11
string Rootpath = "C:\\MyFolder";
string xml = "<City title='CityOne'>"
+ "<Companies title='Comp1'>"
+ "<Company>A</Company>"
+ "<Company>P</Company>"
+ "<Company>R</Company>"
+ "</Companies>"
+ "<Companies title='Comp2'>"
+ "<Company>D</Company>"
+ "<Company>F</Company>"
+ "<Company>H</Company>"
+ "</Companies>"
+ "</City>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNodeList xmlFolderCity = doc.SelectNodes("//City");
for (int counter1 = 0; counter1 < xmlFolderCity.Count; counter1++)
{
string CityFolder = xmlFolderCity[counter1].Attributes["title"].InnerText;
if (!System.IO.Directory.Exists(Rootpath + "\\" + CityFolder))
{
System.IO.Directory.CreateDirectory(Rootpath + "\\" + CityFolder);
}
XmlNodeList xmlCompanyGroup = xmlFolderCity[counter1].SelectNodes("//Companies");
for (int counter2 = 0; counter2 < xmlCompanyGroup.Count; counter2++)
{
string CompanyGroupFolder = xmlCompanyGroup[counter2].Attributes["title"].InnerText;
if (!System.IO.Directory.Exists(Rootpath + "\\" + CityFolder + "\\" + CompanyGroupFolder))
{
System.IO.Directory.CreateDirectory(Rootpath + "\\" + CityFolder + "\\" + CompanyGroupFolder);
}
XmlNodeList xmlCompany = xmlCompanyGroup[counter2].ChildNodes;
for (int counter3 = 0; counter3 < xmlCompany.Count; counter3++)
{
string CompanyFolder = xmlCompany[counter3].InnerText;
if (!System.IO.Directory.Exists(Rootpath + "\\" + CityFolder + "\\" + CompanyGroupFolder + "\\" + CompanyFolder))
{
System.IO.Directory.CreateDirectory(Rootpath + "\\" + CityFolder + "\\" + CompanyGroupFolder + "\\" + CompanyFolder);
}
}
}
}
Upvotes: 1