Teil von XML nach TreeView exportieren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Chinafreak.

    Teil von XML nach TreeView exportieren

    Hallo Leute,

    Ich versuche schon seit Wochen lang daran, ein Teil aus XML nach TreeView exportieren.... Bislang habe ich nur Tutorials von "alle XML" nach TreeView exportieren gefunden.

    Als Beispiel, dieser XML Code, ich will nur, das der "object" nach TreeView exportiert wird:

    Spoiler anzeigen

    Quellcode

    1. <!--This Document is generated by GameMaker, if you edit it by hand then you do so at your own risk!-->
    2. <assets hash="68CF57F4FC5F8589082C8C32CF7929C0">
    3. <Configs name="configs">
    4. <Config>Configs\Default</Config>
    5. </Configs>
    6. <datafiles number="1" name="datafiles">
    7. <datafile>
    8. <name>RemoveBorder.dll</name>
    9. <exists>-1</exists>
    10. <size>10240</size>
    11. <exportAction>2</exportAction>
    12. <exportDir></exportDir>
    13. <overwrite>0</overwrite>
    14. <freeData>-1</freeData>
    15. <removeEnd>0</removeEnd>
    16. <store>0</store>
    17. <ConfigOptions>
    18. <Config name="Default">
    19. <CopyToMask>1048640</CopyToMask>
    20. </Config>
    21. </ConfigOptions>
    22. <filename>RemoveBorder.dll</filename>
    23. </datafile>
    24. </datafiles>
    25. <NewExtensions/>
    26. <sounds name="sound">
    27. <sound>sound\snd_shoot</sound>
    28. <sound>sound\snd_walking_asphalt_1</sound>
    29. <sound>sound\snd_running_asphalt_1</sound>
    30. <sound>sound\snd_sneak_asphalt_1</sound>
    31. <sound>sound\snd_walking_asphalt_2</sound>
    32. <sound>sound\snd_running_asphalt_2</sound>
    33. <sound>sound\snd_sneak_asphalt_2</sound>
    34. <sound>sound\snd_walking_asphalt_3</sound>
    35. <sound>sound\snd_running_asphalt_3</sound>
    36. <sound>sound\snd_sneak_asphalt_3</sound>
    37. <sound>sound\snd_explosion</sound>
    38. <sound>sound\snd_rocket_launcher</sound>
    39. <sound>sound\snd_music</sound>
    40. <sound>sound\snd_nature_music</sound>
    41. <sound>sound\snd_fire</sound>
    42. <sound>sound\snd_music_settings</sound>
    43. <sound>sound\snd_car_drive</sound>
    44. </sounds>
    45. <sprites name="sprites">
    46. <sprites name="group_wall">
    47. <sprites name="Wall_Clean">
    48. <sprite>sprites\sprWall_long</sprite>
    49. <sprite>sprites\sprWallGlas_long</sprite>
    50. <sprite>sprites\sprWallPoint</sprite>
    51. <sprite>sprites\sprWallPointClosed</sprite>
    52. </sprites>
    53. <sprite>sprites\sprWallBrick_long</sprite>
    54. <sprite>sprites\sprWallBrickPoint</sprite>
    55. <sprite>sprites\sprWallBrickPointClosed</sprite>
    56. <sprite>sprites\sprWallGlas</sprite>
    57. </sprites>
    58. <sprites name="group_moebel">
    59. <sprite>sprites\sprBank</sprite>
    60. <sprite>sprites\sprThresen</sprite>
    61. <sprite>sprites\sprEinkaufskasse</sprite>
    62. <sprite>sprites\sprEinkauswagen</sprite>
    63. </sprites>
    64. <sprite>sprites\sprPlayerMockup</sprite>
    65. <sprites name="People">
    66. <sprite>sprites\spr_people</sprite>
    67. <sprite>sprites\spr_people_dead</sprite>
    68. <sprite>sprites\spr_people_scary</sprite>
    69. </sprites>
    70. <sprite>sprites\sprPlayerAttackMockup</sprite>
    71. <sprite>sprites\sprite39</sprite>
    72. <sprites name="group_player_fighting">
    73. <sprite>sprites\sprPlayerAttackSkin</sprite>
    74. <sprite>sprites\sprPlayerAttackClothes</sprite>
    75. </sprites>
    76. <sprites name="group_player">
    77. <sprite>sprites\sprPlayerSkin</sprite>
    78. <sprite>sprites\sprPlayerHair</sprite>
    79. <sprite>sprites\sprPlayerClothes</sprite>
    80. </sprites>
    81. <sprite>sprites\sprEnemy</sprite>
    82. <sprite>sprites\sprite70</sprite>
    83. <sprite>sprites\sprBulletTrail</sprite>
    84. <sprite>sprites\sprBulletTrailNew</sprite>
    85. <sprite>sprites\sprBulletEffect</sprite>
    86. <sprite>sprites\sprMouseTarget</sprite>
    87. <sprites name="group_particlesystem">
    88. <sprite>sprites\sprSmoke</sprite>
    89. <sprite>sprites\sprCarSmoke</sprite>
    90. <sprite>sprites\sprGlasParticle</sprite>
    91. <sprite>sprites\sprFireParticle</sprite>
    92. </sprites>
    93. <sprite>sprites\spr_blood</sprite>
    94. <sprite>sprites\sprCrater</sprite>
    95. <sprite>sprites\sprGranade</sprite>
    96. <sprite>sprites\sprC4</sprite>
    97. <sprite>sprites\sprExplosion</sprite>
    98. <sprite>sprites\sprExplosion_new</sprite>
    99. <sprite>sprites\sprite42</sprite>
    100. <sprite>sprites\sprite41</sprite>
    101. <sprite>sprites\sprFire</sprite>
    102. <sprite>sprites\sprRocketLauncherAmmo</sprite>
    103. <sprite>sprites\sprExplosionBloom</sprite>
    104. <sprites name="group_weapon">
    105. <sprites name="group_view">
    106. <sprite>sprites\spr_weapon_sprite</sprite>
    107. <sprite>sprites\spr_weapon_ingame_sprite</sprite>
    108. <sprite>sprites\spr_ammo_bag</sprite>
    109. <sprite>sprites\spr_heal_bag</sprite>
    110. <sprite>sprites\spr_granade</sprite>
    111. </sprites>
    112. <sprite>sprites\sprWeaponMenu</sprite>
    113. </sprites>
    114. <sprite>sprites\sprPointerWeaponMenu</sprite>
    115. <sprite>sprites\spr_colorbar</sprite>
    116. <sprite>sprites\sprite77</sprite>
    117. <sprite>sprites\spr_Vignette</sprite>
    118. <sprite>sprites\spr_car</sprite>
    119. <sprite>sprites\spr_car_police</sprite>
    120. <sprite>sprites\spr_arrow</sprite>
    121. <sprite>sprites\spr_healbar_help</sprite>
    122. <sprite>sprites\spr_heart_gui</sprite>
    123. <sprite>sprites\spr_heart_puls_gui</sprite>
    124. <sprite>sprites\spr_ammo_help</sprite>
    125. <sprites name="group_lighting">
    126. <sprite>sprites\spr_light</sprite>
    127. <sprite>sprites\spr_car_light</sprite>
    128. </sprites>
    129. <sprite>sprites\spr_fire_small</sprite>
    130. <sprite>sprites\spr_tree_small</sprite>
    131. <sprite>sprites\spr_tree_small_brand</sprite>
    132. <sprite>sprites\spr_tree_middle</sprite>
    133. <sprite>sprites\spr_tree_middle_brand</sprite>
    134. <sprite>sprites\sprite56</sprite>
    135. <sprites name="group_tankstelle">
    136. <sprite>sprites\spr_truck</sprite>
    137. <sprite>sprites\spr_roof_tankstelle</sprite>
    138. </sprites>
    139. <sprites name="furniture">
    140. <sprite>sprites\spr_dumpster</sprite>
    141. </sprites>
    142. <sprite>sprites\spr_tv_effect</sprite>
    143. <sprites name="orb">
    144. <sprite>sprites\spr_fluchtweg</sprite>
    145. <sprite>sprites\spr_policeplace</sprite>
    146. <sprite>sprites\spr_police_spawn</sprite>
    147. <sprite>sprites\spr_policecar_place</sprite>
    148. </sprites>
    149. </sprites>
    150. <backgrounds name="background">
    151. <background>background\bg_street</background>
    152. <background>background\bg_sidewalk</background>
    153. <background>background\bg_house_set</background>
    154. <background>background\bg_bg_test</background>
    155. <background>background\PixelKra</background>
    156. <background>background\bg_roof</background>
    157. </backgrounds>
    158. <paths name="paths">
    159. <path>paths\path_TestLevel_0</path>
    160. <path>paths\path_TestLevel_1</path>
    161. </paths>
    162. <scripts name="scripts">
    163. <script>scripts\instance_create_circle.gml</script>
    164. <script>scripts\lag_kill.gml</script>
    165. <script>scripts\mouse_position.gml</script>
    166. <script>scripts\mouse_position_check.gml</script>
    167. <script>scripts\mouse_position_check_pressed.gml</script>
    168. <script>scripts\mouse_position_check_released.gml</script>
    169. <script>scripts\mouse_position_circle.gml</script>
    170. <script>scripts\collision.gml</script>
    171. <script>scripts\draw_quadrangle.gml</script>
    172. <script>scripts\draw_sprite_outline.gml</script>
    173. <script>scripts\path_get_direction.gml</script>
    174. <script>scripts\path_random.gml</script>
    175. <script>scripts\draw_annulus.gml</script>
    176. <script>scripts\draw_annulus_ext.gml</script>
    177. <script>scripts\rectangle_shadow.gml</script>
    178. <scripts name="BorderScript">
    179. <script>scripts\InitBC.gml</script>
    180. <script>scripts\RemoveBorderBC.gml</script>
    181. <script>scripts\RestoreBorderBC.gml</script>
    182. </scripts>
    183. <script>scripts\draw_tv_effect.gml</script>
    184. <script>scripts\draw_text_color_tags.gml</script>
    185. </scripts>
    186. <shaders name="shaders">
    187. <shader type="GLSLES">shaders\shader0.shader</shader>
    188. </shaders>
    189. <fonts name="fonts">
    190. <font>fonts\fnt_raubfont</font>
    191. <font>fonts\fnt_raubfont_25</font>
    192. </fonts>
    193. <objects name="objects">
    194. <object>objects\objPersistent</object>
    195. <object>objects\objSettings</object>
    196. <object>objects\objIngame</object>
    197. <objects name="group_player">
    198. <object>objects\objPlayer</object>
    199. <object>objects\objBulletTrail</object>
    200. <object>objects\objBulletEffects</object>
    201. <object>objects\objExplosion</object>
    202. <object>objects\objFlamethrowerFire</object>
    203. <object>objects\objRocketLauncherAmmo</object>
    204. <object>objects\objGranade</object>
    205. <object>objects\objC4</object>
    206. <object>objects\obj_ammo_bag</object>
    207. </objects>
    208. <objects name="group_surface">
    209. <object>objects\objShadowSurface</object>
    210. <object>objects\objLightingKISurface</object>
    211. <objects name="group_shadow">
    212. <object>objects\objShadow32x</object>
    213. <object>objects\objShadow16x</object>
    214. <object>objects\objShadow8x</object>
    215. <object>objects\objShadowBlock</object>
    216. <object>objects\objShadow1x</object>
    217. </objects>
    218. <object>objects\objLightKISurfaceHelper</object>
    219. <object>objects\objDecalSurface</object>
    220. </objects>
    221. <objects name="group_moebel">
    222. <object>objects\objBank</object>
    223. <object>objects\objEinkaufswagen</object>
    224. <object>objects\objThresen</object>
    225. <object>objects\objEinkaufskasse</object>
    226. </objects>
    227. <objects name="group_wall">
    228. <object>objects\obj_block</object>
    229. <objects name="wall_clean">
    230. <object>objects\objWall_long</object>
    231. <object>objects\objWallGlas_long</object>
    232. <object>objects\objWallPoint</object>
    233. <object>objects\objWallPointClosed</object>
    234. </objects>
    235. <objects name="wall_brick">
    236. <object>objects\objWallBrick_long</object>
    237. <object>objects\objWallBrickPoint</object>
    238. <object>objects\objWallBrickPointClosed</object>
    239. </objects>
    240. <object>objects\objWallGlas</object>
    241. <object>objects\objWallGlasBroken</object>
    242. </objects>
    243. <object>objects\objCollisionParent</object>
    244. <object>objects\objDecal</object>
    245. <object>objects\obj_car</object>
    246. <object>objects\obj_shockring</object>
    247. <object>objects\objLight</object>
    248. <object>objects\obj_fire_small</object>
    249. <object>objects\obj_fire</object>
    250. <object>objects\obj_tree_small</object>
    251. <object>objects\obj_tree_small_brand</object>
    252. <object>objects\obj_tree_middle</object>
    253. <object>objects\obj_tree_middle_brand</object>
    254. <object>objects\obj_fire_parent</object>
    255. <object>objects\obj_truck</object>
    256. <object>objects\obj_roof_tankstelle</object>
    257. <object>objects\obj_hidden_shadow_parent</object>
    258. <object>objects\obj_hidden_shadow_withoutcollision_parent</object>
    259. <object>objects\objEnemy</object>
    260. <object>objects\obj_buerger</object>
    261. <object>objects\obj_people_dead</object>
    262. <object>objects\obj_pathfinding</object>
    263. <objects name="places">
    264. <object>objects\obj_fluchtweg</object>
    265. <object>objects\obj_policeplace</object>
    266. <object>objects\obj_policespawn</object>
    267. <object>objects\obj_policecarplace</object>
    268. </objects>
    269. <object>objects\obj_car_police</object>
    270. </objects>
    271. <rooms name="rooms">
    272. <room>rooms\Settings</room>
    273. <room>rooms\room2</room>
    274. <room>rooms\TestLevel</room>
    275. </rooms>
    276. <help>
    277. <rtf>help.rtf</rtf>
    278. </help>
    279. <TutorialState>
    280. <IsTutorial>0</IsTutorial>
    281. <TutorialName></TutorialName>
    282. <TutorialPage>0</TutorialPage>
    283. </TutorialState>
    284. </assets>



    "objects name" soll eine Ordner sein, die man bei TreeView aufklappen kann und "object" eine Objekt/Inhalt, die in Ordner zu finden ist.

    Hier habe ich eben mal eine Skizze gemacht, ich will dieser Codeausschnitt

    Spoiler anzeigen

    Quellcode

    1. <assets hash="68CF57F4FC5F8589082C8C32CF7929C0">
    2. <Configs name="configs">
    3. <Config>Configs\Default</Config>
    4. </Configs>
    5. ...
    6. ...
    7. ...
    8. <objects name="objects">
    9. <object>objects\objPersistent</object>
    10. <object>objects\objSettings</object>
    11. <object>objects\objIngame</object>
    12. <objects name="group_player">
    13. <object>objects\objPlayer</object>
    14. <object>objects\objBulletTrail</object>
    15. <object>objects\objBulletEffects</object>
    16. <object>objects\objExplosion</object>
    17. <object>objects\objFlamethrowerFire</object>
    18. <object>objects\objRocketLauncherAmmo</object>
    19. <object>objects\objGranade</object>
    20. <object>objects\objC4</object>
    21. <object>objects\obj_ammo_bag</object>
    22. </objects>
    23. <objects name="group_surface">
    24. <object>objects\objShadowSurface</object>
    25. <object>objects\objLightingKISurface</object>
    26. <objects name="group_shadow">
    27. <object>objects\objShadow32x</object>
    28. <object>objects\objShadow16x</object>
    29. <object>objects\objShadow8x</object>
    30. <object>objects\objShadowBlock</object>
    31. <object>objects\objShadow1x</object>
    32. </objects>
    33. <object>objects\objLightKISurfaceHelper</object>
    34. <object>objects\objDecalSurface</object>
    35. </objects>
    36. </objects>
    37. ...
    38. ...
    39. ...
    40. <TutorialState>
    41. <IsTutorial>0</IsTutorial>
    42. <TutorialName></TutorialName>
    43. <TutorialPage>0</TutorialPage>
    44. </TutorialState>
    45. </assets>


    Nach dieser TreeViews umsetzen:

    ohne außerhalb von "objects" zu exportieren.

    Eine Beispielcode habe ich hier in Hand nicht zur Verfügung, alle Code von mir sind so gut wie unnützlich...


    Ich hoffe, das einer mir helfen kann... Ich bedanke mich natürlich auf Antworten!

    Gruß, China
    Okay, laden von alle Objekte habe ich schon hingekriegt... aber wie füge ich jetzt Ordner am besten ein?

    Spoiler anzeigen

    Quellcode

    1. Private Sub Inctance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. If Not Form1.LevelEditor_Path = "" Then
    3. Dim projectname As String = Path.GetDirectoryName(Form1.filename_open.Replace("rooms\", ""))
    4. Dim split As String() = projectname.Split("\")
    5. Dim parentFolder As String = split(split.Length - 2)
    6. parentFolder = projectname + "\" + parentFolder + ".project.gmx"
    7. parentFolder = parentFolder.Replace(" ", "")
    8. Dim doc As XmlDocument = New XmlDocument()
    9. Dim i As Integer = 0
    10. Dim j As Integer = 0
    11. doc.LoadXml(File.ReadAllText(parentFolder)) 'lese alle XML-Daten
    12. Dim elemList As XmlNodeList = doc.GetElementsByTagName("object") 'lese alle Element "object", also Inhalt
    13. Dim folderList As XmlNodeList = doc.GetElementsByTagName("objects") '<--- Ordner
    14. For i = 0 To elemList.Count - 1
    15. ReDim Preserve object_list_name(i)
    16. object_list_name(i) = elemList(i).InnerXml.Replace("objects\", "") 'trage alle Inhalt in einer Array
    17. TreeView1.Nodes.Add(object_list_name(i)) '<- trage alle Inhalt in TreeView
    18. Next i
    19. End If
    20. End Sub


    So sieht es in XML aus:

    Spoiler anzeigen

    Quellcode

    1. <objects name="objects">
    2. <object>objects\objPersistent</object>
    3. <object>objects\objSettings</object>
    4. <object>objects\objIngame</object>
    5. <objects name="group_player">
    6. <object>objects\objPlayer</object>
    7. <object>objects\objBulletTrail</object>
    8. <object>objects\objBulletEffects</object>
    9. <object>objects\objExplosion</object>
    10. <object>objects\objFlamethrowerFire</object>
    11. <object>objects\objRocketLauncherAmmo</object>
    12. <object>objects\objGranade</object>
    13. <object>objects\objC4</object>
    14. <object>objects\obj_ammo_bag</object>
    15. </objects>
    16. <objects name="group_surface">
    17. <object>objects\objShadowSurface</object>
    18. <object>objects\objLightingKISurface</object>
    19. <objects name="group_shadow">
    20. <object>objects\objShadow32x</object>
    21. <object>objects\objShadow16x</object>
    22. <object>objects\objShadow8x</object>
    23. <object>objects\objShadowBlock</object>
    24. <object>objects\objShadow1x</object>
    25. </objects>
    26. <object>objects\objLightKISurfaceHelper</object>
    27. <object>objects\objDecalSurface</object>
    28. </objects>
    29. <objects name="group_moebel">
    30. <object>objects\objBank</object>
    31. <object>objects\objEinkaufswagen</object>
    32. <object>objects\objThresen</object>
    33. <object>objects\objEinkaufskasse</object>
    34. </objects>
    35. <objects name="group_wall">
    36. <object>objects\obj_block</object>
    37. <objects name="wall_clean">
    38. <object>objects\objWall_long</object>
    39. <object>objects\objWallGlas_long</object>
    40. <object>objects\objWallPoint</object>
    41. <object>objects\objWallPointClosed</object>
    42. </objects>
    43. <objects name="wall_brick">
    44. <object>objects\objWallBrick_long</object>
    45. <object>objects\objWallBrickPoint</object>
    46. <object>objects\objWallBrickPointClosed</object>
    47. </objects>
    48. <object>objects\objWallGlas</object>
    49. <object>objects\objWallGlasBroken</object>
    50. </objects>
    51. <object>objects\objCollisionParent</object>
    52. <object>objects\objDecal</object>
    53. <object>objects\obj_car</object>
    54. <object>objects\obj_shockring</object>
    55. <object>objects\objLight</object>
    56. <object>objects\obj_fire_small</object>
    57. <object>objects\obj_fire</object>
    58. <object>objects\obj_tree_small</object>
    59. <object>objects\obj_tree_small_brand</object>
    60. <object>objects\obj_tree_middle</object>
    61. <object>objects\obj_tree_middle_brand</object>
    62. <object>objects\obj_fire_parent</object>
    63. <object>objects\obj_truck</object>
    64. <object>objects\obj_roof_tankstelle</object>
    65. <object>objects\obj_hidden_shadow_parent</object>
    66. <object>objects\obj_hidden_shadow_withoutcollision_parent</object>
    67. <object>objects\objEnemy</object>
    68. <object>objects\obj_buerger</object>
    69. <object>objects\obj_people_dead</object>
    70. <object>objects\obj_pathfinding</object>
    71. <objects name="places">
    72. <object>objects\obj_fluchtweg</object>
    73. <object>objects\obj_policeplace</object>
    74. <object>objects\obj_policespawn</object>
    75. <object>objects\obj_policecarplace</object>
    76. </objects>
    77. <object>objects\obj_car_police</object>
    78. </objects>