class MyNode: def __init__(self, parent, data): self.data = data self.tool = Mytools() self.childNodes = [] self.parent = parent self.childTagName = None pass def parser(self): self.name = self.tool.getTagName(self.data) self.attr = self.tool.getAttributes(self.data) if not self.tool.IsChildrenExist(self.data): self.text = self.tool.GetText(self.data) pass def getChildren(self, tag_name): if self.tool.IsChildrenExist(self.data): childdatas = self.tool.getChildrenData(self.data) self.childTagName = self.tool.getTagName(childdatas) subdatas = self.tool.splitChildrenData(childdatas, self.childTagName) for subdata in subdatas: node = MyNode(self, subdata) node.parser() self.childNodes.append(node) return self.childNodes pass