Помогите вывести содержимое xml файла в Treeview
Помогите вывести содержимое xml файла в Treeview, с последующим выбором из списка.
Чем удобней пользоваться из ВСТРОЕННЫХ средств python, не используя сторонние библиотеки?
Google выдал : xmltodict, tree.item(get), xml.etree.ElementTree, import xml.dom.minidom
Содержимое test2.xml:
<?xml version="1.0"?>
<library displayName="Library">
<description />
<folder displayName="Папка 1">
<folder displayName="Папка 1.1">
<element displayName="Файл1.1" file="Файл1.1.kdw" />
<element displayName="Файл1.2" file="Файл1.2.kdw" />
<element displayName="Файл1.3" file="Файл1.3.kdw" />
</folder>
</folder>
<folder displayName="Папка 2">
<folder displayName="Папка 2.1">
<element displayName="Файл2.1" file="Файл2.1.kdw" />
<element displayName="Файл2.2" file="Файл2.2.kdw" />
<element displayName="Файл2.3" file="Файл2.3.kdw" />
</folder>
</folder>
</library>
Содержимое parseXML2.py:
from tkinter import *
from tkinter.ttk import Treeview
import xml.etree.ElementTree as ET
class App:
def __init__(self, root):
try:
with open('test2.xml') as f:
read_data = f.read()
rootNode = ET.fromstring(read_data)
self.tree = Treeview(root)
self.tree.pack(expand=True, fill='both')
self.walk_dict(rootNode)
except Exception as e:
print(e)
def walk_dict(self, d, depth=0, parent=""):
for child in d:
nodeName = child.attrib.__str__()
if(child.tag == 'folder'):
print(child.get('displayName'))
item = self.tree.insert(parent, 'end', None, text=child.get('displayName'))
elif(child.tag == 'element'):
item = self.tree.insert(parent, 'end', None, text=child.get('file'))
if child.__len__() > 0:
self.walk_dict(child, depth + 1, parent=item)
else:
if(child.text != None):
self.tree.insert(item, 'end', None, text=child.text)
gui = Tk()
gui.geometry("500x600")
App(gui)
gui.mainloop()
Как убрать голубую строку вверху?
