環境:Windows,Python,wxpython和Element樹作爲xml解析器。使用元素樹讀取動態xml
我正在開發一個獨立的地方,它讀取xml並創建一棵樹。 我的應用程序讀取XML和創建樹,但是當XML改變下一次(XML increases-我的意思是,當添加了兩個子元素時,深度)。應用無法讀取(邏輯失敗:()
對於如 我已經寫了一個邏輯,它可以讀取深度爲5的任何xml,但是當它讀取的深度超過5的xml時,它將失敗 請讓我知道如何讀取其深度爲動態的xml
環境:Windows,Python,wxpython和Element樹作爲xml解析器。使用元素樹讀取動態xml
我正在開發一個獨立的地方,它讀取xml並創建一棵樹。 我的應用程序讀取XML和創建樹,但是當XML改變下一次(XML increases-我的意思是,當添加了兩個子元素時,深度)。應用無法讀取(邏輯失敗:()
對於如 我已經寫了一個邏輯,它可以讀取深度爲5的任何xml,但是當它讀取的深度超過5的xml時,它將失敗 請讓我知道如何讀取其深度爲動態的xml
您應該使用遞歸調用,更類似於:
def recurse_tree(node):
tree = {}
for element in node:
name = element.get('name')
tree[name] = recurse_tree(element)
if tree:
return tree
else:
return 'No children.'
N所有的元素都具有「名稱」屬性。所以你需要調整它來匹配你確切的數據結構。
聽起來像問題可能在你的邏輯,爲什麼你不發佈它? – 2010-10-24 17:03:27
@ Robert Kluin。嗨,我已經添加了我的示例代碼在不同的深度以下要點。請在這裏找到它 - http://gist.github.com/643697。 (要點:643697)。我的代碼可以讀取示例xml1,但無法讀取示例xml 2 – abhishek 2010-10-24 17:24:00