gpt4 book ai didi

python/elementtree xml解析成数组

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:25 25 4
gpt4 key购买 nike

从这里开始:

<Program>

<ManyTag>
<InstSpecific Inst="FAMU" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="FAU" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="FIU" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="UCF" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="UF" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="UNF" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="USF" PgmHrs="120" LimitedAccess="N"/>
<InstSpecific Inst="UWF" PgmHrs="120" LimitedAccess="N"/>
<OtherTags>stuff</OtherTags>
<ManyTag>

<Program>

从上面我有一个嵌套的标签分组,这些标签在属性中是唯一的,但在标签名称中不是。我需要保留这个分组,但我不知道如何将“Inst”属性附加到数组、文档或魔法容器中。在有人开始大喊代码之前:

tree = etree.parse('some.xml')
root = tree.getroot()

inst = []


for element in root.iter():

if element.tag == 'InstSpecific':
inst.append(element.get('Inst')

这是一个简短、截断的版本,但我已经尝试了很多东西,并且气得几乎失明了。我很沮丧,我会手工完成,但仅“InstSpecific”就有超过 20,000 个条目。请帮忙。

最佳答案

使用.findall() 查找所有InstSpecific 标签并从.attrib 中获取Inst 属性:

inst = [element.attrib['Inst'] for element in root.findall('InstSpecific')]

如果您需要对每个 ManyTag 标签的 Inst 属性值列表进行分组:

[element.attrib['Inst']
for many_tag in tree.findall('ManyTag')
for element in many_tag.findall('InstSpecific')]

关于python/elementtree xml解析成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35180532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com