Re: [問題] 再來請教一個問題
※ 引述《CHRyo (絕體絕命自由客)》之銘言:
: 有些xml檔是用來表示一顆樹的
: 假設其中一個檔名是a.xml
: <Schedule size="9">
: - <Node Address="1" MoreToGo="2">
: <Forward>2</Forward>
: <Forward>3</Forward>
: </Node>
: <Node Address="2" MoreToGo="0" />
: - <Node Address="3" MoreToGo="3">
: <Forward>4</Forward>
: <Forward>5</Forward>
: <Forward>6</Forward>
: </Node>
: <Node Address="4" MoreToGo="0" />
: - <Node Address="5" MoreToGo="2">
: <Forward>7</Forward>
: <Forward>8</Forward>
: </Node>
: <Node Address="6" MoreToGo="0" />
: <Node Address="7" MoreToGo="0" />
: <Node Address="8" MoreToGo="0" />
: </Schedule>
: 畫成圖形就是
: 1
: / \
: 2 3
: / | \
: 4 5 6
: / \
: 7 8
: 現在想要把xml檔抓出來表示成一個list
: [[], [2,3],[] ,[4,5,6], [], [7,8], [], [], []]
: 也就是list[1]=[2,3]
: list[3]=[4,5,6] 這樣
: 我用xml.dom.minidom去parse a.xml
: 也會用getElementsByTagName抓回NodeList
: =============================================================
: from xml.dom import minidom
: dom = minidom.parse('a.xml')
: list = dom.getElementsByTagName('Node')
: for x in list:
: addr = x.getAttribute('Address')
: forwards = x.getElementsByTagName('Forward')
不太懂問題在那,你的list存的不就是要列出每個node他的child是那些
= = 這要什麼演算法? 找出所有Node的工作dom都做掉了
d = {}
for x in list:
addr = x.getAttribute('Address')
forwards = x.getElemensByTagName('Forward') <-- 列出所有x的child
d[addr] = [k.name for k in forwards]
: =============================================================
: 可是寫到這就卡住了...
: 不知道要怎麼把抓進來的addr跟forward表示成那個list的樣子
: 所以又來請高手幫忙一下
: 謝謝 m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.100.65
※ 編輯: Lucemia 來自: 140.96.100.65 (07/05 10:11)
推
07/05 10:21, , 1F
07/05 10:21, 1F
→
07/05 10:22, , 2F
07/05 10:22, 2F
推
07/05 10:27, , 3F
07/05 10:27, 3F
→
07/05 10:28, , 4F
07/05 10:28, 4F
→
07/05 10:29, , 5F
07/05 10:29, 5F
推
07/05 13:20, , 6F
07/05 13:20, 6F
→
07/06 22:05, , 7F
07/06 22:05, 7F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章