python/elementtree将xml解析为数组

2024-10-02 10:32:40 发布

您现在位置:Python中文网/ 问答频道 /正文

从这里开始:

<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>

从上面我有一组嵌套的标记,它们在attrib中是唯一的,但在tag name中不是唯一的。我需要保持这个分组,但我无法想出如何将'Inst'属性附加到数组、文档或魔法容器中。在有人开始抱怨代码之前:

^{pr2}$

这是一个简短的,删节的版本,但我尝试了很多东西,几乎是盲目的愤怒。我很沮丧,我可以手工完成,但仅“InstSpecific”就有超过20000个条目。请帮忙。在


Tags: programinstuffauucfunfusfothertags
1条回答
网友
1楼 · 发布于 2024-10-02 10:32:40

使用.findall()查找所有InstSpecific标记,并从.attrib获取{}属性:

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

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

^{pr2}$

相关问题 更多 >

    热门问题