我想从XML创建一个表达式。从顶层节点读取我想将节点一个接一个地放入堆栈,一旦我点击结束标记,我想弹出堆栈中的所有元素。我如何检查标签的结尾?如何检查Python中使用minidom标记的结束?
TIA,
约翰
答:
OK,我想我的解决方案,使用这样的递归函数:
def findTextNodes(nodeList):
for subnode in nodeList:
if subnode.nodeType == subnode.ELEMENT_NODE:
print("element node: ",subnode.tagName)
# call function again to get children
findTextNodes(subnode.childNodes)
print('subnode return: ', subnode.tagName)
elif subnode.nodeType == subnode.TEXT_NODE:
print("text node: ",subnode.data)
当“子节点返回'它结束标签!
谢谢大家!
嘿安东尼,1)不幸的是,这是一个继承的项目,我现在无法更改为其他模块。 2)XML格式不具有静态格式,可以是任何重复的格式。 – JohnX 2012-04-03 20:12:55
@JohnX如果是这样的话,你可能想检查一下这个:http://stackoverflow.com/questions/1596829/xml-parsing-with-python-and-minidom – 2012-04-03 20:38:42
谢谢安东尼!我编辑了我的帖子以包含解决方案。 – JohnX 2012-04-03 21:09:30