Python minidom解析器:忽略具有相同属性值的标记
尝试将xml解析为文本我得到了如下结果 输入文件Python minidom解析器:忽略具有相同属性值的标记,python,list,attributes,minidom,Python,List,Attributes,Minidom,尝试将xml解析为文本我得到了如下结果 输入文件 <Item id="1"></Item> <Item id="2"></Item> <Item id="1"></Item> <Item id="2"></Item> 我想要的结果是 Item ->1 Item ->2 (忽略重复的id值) 我用来获取当前输出的当前代码是 list = node.getElementsByTagName
<Item id="1"></Item>
<Item id="2"></Item>
<Item id="1"></Item>
<Item id="2"></Item>
我想要的结果是
Item ->1
Item ->2
(忽略重复的id值)
我用来获取当前输出的当前代码是
list = node.getElementsByTagName('Item')
for item in list:
output_id = item.getAttribute('id')
print "Item ->", output_id
我尝试了数千种列表删除方法,但它们都输出双ID。非常感谢您的帮助。
TK改用字典。将输出_id作为键 如果希望仅具有每个id的最后一个元素:
list = node.getElementsByTagName('Item')
item_dict = {}
for item in list:
output_id = item.getAttribute('id')
item_dict [output_id] = item
改用字典。将输出_id作为键 如果希望仅具有每个id的最后一个元素:
list = node.getElementsByTagName('Item')
item_dict = {}
for item in list:
output_id = item.getAttribute('id')
item_dict [output_id] = item
首先,每个DOM解析器将返回两个ID,因为它们是不同的元素。 要避免这种情况,请遍历dom树并将结果存储在
dict
对象中。这将只获取最后的项目
UPD:
list = node.getElementsByTagName('Item')
items = {}
for item in list:
output_id = item.getAttribute('id')
items[output_id] = item # Put items into dict to use them later.
for id in items:
print "Item[%d] -> %s" % (id, items[id]) # Only single item per id left.
还有更“蟒蛇式”的方式:
list = node.getElementsByTagName('Item')
items = dict((item.getAttribute('id'), item) for item in list)
for id in items:
print "Item[%d] -> %s" % (id, items[id]) # Only single item per id left.
首先,每个DOM解析器将返回两个ID,因为它们是不同的元素。 要避免这种情况,请遍历dom树并将结果存储在
dict
对象中。这将只获取最后的项目
UPD:
list = node.getElementsByTagName('Item')
items = {}
for item in list:
output_id = item.getAttribute('id')
items[output_id] = item # Put items into dict to use them later.
for id in items:
print "Item[%d] -> %s" % (id, items[id]) # Only single item per id left.
还有更“蟒蛇式”的方式:
list = node.getElementsByTagName('Item')
items = dict((item.getAttribute('id'), item) for item in list)
for id in items:
print "Item[%d] -> %s" % (id, items[id]) # Only single item per id left.
只是学习Python。我的背景是C,除了以struct的形式外,没有处理对象。你能发送一个链接到我可以根据我所拥有的代码申请的代码吗?谢谢你的帮助,但是它一直在扔我复制品。Dair T'arg的样本#1是唯一能够输出我所需内容的样本。谢谢你的帮助。只是学习Python。我的背景是C,除了以struct的形式外,没有处理对象。你能发送一个链接到我可以根据我所拥有的代码申请的代码吗?谢谢你的帮助,但是它一直在扔我复制品。Dair T'arg的样本#1是唯一能够输出我所需内容的样本。谢谢你的帮助。只是学习Python。我的背景是C,除了以struct的形式外,没有处理对象。你能发送一个链接到我可以根据我所拥有的代码申请的代码吗?感谢这两个,第一个示例通过将整数描述符更改为字符串来工作,而第二个示例仅打印最后一个id。正是我需要的!只是学习Python。我的背景是C,除了以struct的形式外,没有处理对象。你能发送一个链接到我可以根据我所拥有的代码申请的代码吗?感谢这两个,第一个示例通过将整数描述符更改为字符串来工作,而第二个示例仅打印最后一个id。正是我需要的!