我想從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