Počkať. Aká je vlastne štruktúra toho xml?Také niečo?
REM ===========XML==============
<Layer1>
<Dungeons/>
<Layer2>
<HyjalSummit/>
<Layer3>
<Bosses/>
<Layer4>
<Archimonde/>
</Layer4>
</Layer3>
</Layer2>
</Layer1>
REM ==========Treeview==========
-Dungeons
-HyjalSummit
-Bosses
Archimonde
Na prevod medzi xml a treeview(alebo podobnými kombináciami) sa zíde funkcia, ktorá má za parameter XmlNode a vracia TreeNode.Vytvorí novú TreeNode, do Text priradí názov prvého nájdeného elementu a na zvyšné zavolá sama seba.To, čo vyjde z rekurzívneho volania, pridá do TreeNode a máte to. Alebo(skôr pre WinForms) vytvoríte nový typ dediaci z TreeNode, ktorý bude mať XmlNode vo vlastnosti, v konštruktore spravíte podobnú vec: do Nodes pridáte nové XmlElementTreeNode(alebo ako to mienite pomenovať), ktorým predáte sub-elementy XmlNode.Príkazy na pridávanie, upravovanie a mazanie jednoducho aplikujete aj na XmlNode, aj na TreeNode.Už som takto robil XmlEditor(síce pre WinForms) a fungovalo mi to.Tak vám to ale rýchlo "zožere" kopu pamäte, takže s takým prístupom na 100KB Xml dokumenty zabudnite.Obecne 100KB Xml len ťažko načítate do objektového modelu.
|