gpt4 book ai didi

Python将xml转换为列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:00 25 4
gpt4 key购买 nike

我有以下 xml 数据集:

<cnode desc="" name="xyz"> 
<pnode name="word1"/>
<pnode name="word2"/>
<pnode name="word3"/>
...
<cnode desc="" name="abc">
<pnode name="word4"/>
<pnode name="word5"/>
<pnode name="word6"/>
...

我想分别获取 name='xyz' 和 'abc' 之后的所有单词的列表,例如xyz=[word1, word2, word3,...] 和 abc=[word4, word5, word6, ...]

我尝试了以下解决方案:

import xml.etree.ElementTree as etree
xyz=[]
abc=[]

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

for child in root:
words.append(child.findall(?!))
print(words)

但我不知道如何用 name=xyz 引用父级,然后提取子级的单词。

感谢您的帮助!!

最佳答案

首先你应该修复你的演示 xml,其中缺少一个关闭引号

我会使用xpath

from lxml import etree

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

xyzpnodes = root.xpath(".//cnode[@name='xyz']/pnode")
xyz = [p.attrib["name"] for p in xyzpnodes]

print xyz

关于Python将xml转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38869381/

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