Xml író program, hogyan? (c#)
Üdv!
Segítséget szeretnék kérni egy olyan program kivitelezésében
amiben lenne egy mappa tallózó, a kiválasztott mappában lévő fájlok,és almappában lévő fájlok nevét egy xml-be másolná be
Példa:
Kiválasztom a c:\xy mappát
amiben van sanyika.txt,józsi.bat és egy peti mappa amiben van egy jános.txt(Na jó, kicsit XD lett)
szóval kiválasztom az xy mapát és ő létrehoz egy
xml fájl-t,és szépen egymás alá írja a neveket, most pl:
sanyika.txt
józsi.bat
peti/jános.txt
Bocsánat ha kicsit érthetetlen, de fontos lenne
Köszönöm!
Tehát, hogy érthető legyen a feladat:
Egy olyan program kell neked, ami egy megadott directory-ban lévő ÖSSZES file nevét mélységi korlát nélkül, rekurzívan egy XML-be rakja.
Két namespace-re lesz szükséged: System.IO, és System.Xml.
létrehozol egy XmlDocument-et. Azon belül a CreateNode függvénnyel egy root node-ot, mondjuk <FILES> néven.
Lesz egy függvényed, aminek egyetlen paramétere lesz, egy DirectoryInfo típusú paraméter.
Ez egy rekurzív függvény lesz, legyen a neve mondjuk CollectFilesRecursive(DirectoryInfo rootDir), ami a paraméterül kapott
DirectoryInfo-ból:
1. lépés_: EnumerateFiles-al kiszedi a file-okat, és minden file-ra csinál egy az XmlDocument-ben egy XmlNode-ot, pl. <FILE Name="valami.txt">, a Name attribútum értéke természetesen a file-od neve lesz. Ezt a node-ot hozzáfűzi a <FILES> nevű rootnode-hoz.
2. lépés:
EnumerateDirectories-el kiszedi a subdir-eket, és mindegyikre meghívja saját magát.
Kezdetben a CollectFilesRecursive(DirectoryInfo rootDir) függvényt azzal a dir-el hívod meg, amit ki akarsz listáztatni.
A végén pedig, az XmlDocument-et elmented valahova a Save függvénnyel.
Kb. ennyi, a részletekért guglizz, nem vagyok hajlandó minden függvény minden paraméterét/működését elmagyarázni :D
A rekurzív függvénynek szerintem az aktuális node-ot is át kellene adni, mivel gondolom valami hasonló kellene eredménybe, hogy:
<root baseFolder="C:\xy">
<folder name="peti">
<file name="janos.txt"/>
</folder>
<file name="sanyika.txt"/>
<file name="józsi.bat"/>
</root>
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!