2013-06-04 2 views
0
<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> 

먼저 CityOne 폴더를 생성 한 다음 두 폴더 아래에 Comp1 & Comp2를 만듭니다. 그런 다음 각각의 폴더 A, P, R (Comp1 아래) D, F, H (Comp2 아래).xml 읽기 및 디렉토리 만들기 C#

나 C#으로 동일한 작업을 수행하는 방법을 알려 주시기 바랍니다

답변

1
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); 
      } 

     } 
    } 
}