作者CHRyo (绝体绝命自由客)
看板Python
标题[问题] 再来请教一个问题
时间Wed Jul 4 18:27:26 2007
有些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')
=============================================================
可是写到这就卡住了...
不知道要怎麽把抓进来的addr跟forward表示成那个list的样子
所以又来请高手帮忙一下
谢谢 m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.70.150.120
※ 编辑: CHRyo 来自: 219.70.150.120 (07/04 18:27)
1F:推 abliou:这用re会不会比较好做? 07/04 23:32
2F:推 softwind:原po是不是想问演算法阿? 工具他都说了... 07/04 23:52
3F:→ CHRyo:请问re是?提示我演算法也行,因为我不知道该怎麽写 囧 07/05 09:35