不确定这是不是一个重复的问题..我试图找到一个相关的答案,但还没找到它......我去了......
以下是我在XML格式数据中的内容
<item>
<title>level red</title>
<link>something</link>
<item>
<item>
<title>level green</title>
<link>something</link>
<item>
<item>
<title>level yellow</title>
<link>something</link>
<item>
<item>
<title>level red</title>
<link>something</link>
<item>
<item>
<title>level yellow</title>
<link>something</link>
<item>
<item>
<title>level red</title>
<link>something</link>
<item>
<item>
<title>level green</title>
<link>something</link>
<item>
<item>
<title>level black</title>
<link>something</link>
<item>
我的目标是将这些数据排在第一级红色,绿色级别和黄色等级出现在xml列表中,其余级别保持不变......
我的问题是如何使用Python来解决这个问题?
我知道我可能不得不使用
dom = xml.dom.minidom.parseString(stripTags(data))
items = dom.getElementsByTagName('item')
item.getElementsByTagName("title")[0].childNodes
item.getElementsByTagName("link")[0].childNodes
我也看过像这样的代码按顺序排序
sorted_b = []
for i in a:
for j in b:
if j.id == i:
sorted_b.append(j)
break
我的问题是如何将代码放在一起,以后我如何按照给定的颜色优先顺序对数据进行排序?
赞赏任何建议或指示
答案 0 :(得分:1)
Python sorted()函数可能会派上用场:
https://wiki.python.org/moin/HowTo/Sorting
特别是使用key = ...参数。 尝试像
这样的东西def getItemLevel(item):
return item.getElementsByTagName("title")[0].data
newlist = sorted(itemlist, key=getItemLevel)