所以我试图用python表示一个XML文件。我已经设法做到了。但是我树中的每个子节点都必须双重链接,我不知道如何做到这一点。我在网上找到了一些代码示例,但它们都使用了类,教授不希望我们使用类。这是我的代码:
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
import xml.etree.ElementTree as etree
def create_tree(): #This function creates the root element of my tree
n = input("Enter your root Element: ")
root = Element(n)
tree = ElementTree(root)
print(etree.tostring(root))
return root
def add_child():
root = create_tree()
new = True
while new == True:
ask = input("If you wish to add a new child type 'yes', else type something else: ")
if ask == 'yes':
n = input("Enter the name of the node: ") #This block of code creates a child and appends it to the root element
node = Element(n)
root.append(node)
print(etree.tostring(root))
else:
break
return etree.tostring(root)
add_child()
对于那些想知道的人来说,这个项目的目的是创建一个带有无界分支的有根树。我希望一旦我可以实现双向链表,我就可以在子节点中添加子节点。
答案 0 :(得分:0)
您应该能够使用列表实现链接列表。你可以定义
每个元素作为列表,包含元素本身,前面的项目以及后面的项目。如果列表分别包含前一个节点,下一个节点和元素本身,并且头部存储在head
中,则将newElement
附加到列表开头的语法如下:
newNode = [None,head,newElement]
head[0] = newNode
head = newNode