问题描述
我的 testxml 文件:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE PPP
SYSTEM 'PPP.DTD'>
<book chg="R" model="AB" >
<chapter chapnbr="09" chg="U" key="EN49" >
<effect effrg="Afcd"/>
<title>HOW TO WIN</title>
<section chapnbr="09" chg="U" key="Edff" revdate="20100701" sectnbr="102">
<title>What a start</title>
<subject chapnbr="09" chg="U" key="Edff" revdate="20100701" sectnbr="102" subjnbr="00">
<title>1.A</title>
<pgblk chapnbr="09" chg="U" confnbr="00" key="Edff00" pgblknbr="00" revdate="20200701" sectnbr="102" subjnbr="00">
<effect effrg="12"/>
<title>1.A.i) Plan Ahead for the worst</title>
<prclist1>
<prcitem1 adns-numbering="8" adns-title="learning my way with help of good people" >
<effect effrg="Edff"/>
<prcitem asFragment="true">
<title>1.A.i) Plan Ahead for the worst</title>
<para>It was a cold January night,and I had too much whisky.
<refblock>
09-102-00
<refint rrr="22,445,555,555" refid="Edff0898">
<effect effrg="Edff0899"/>
0910200</refint>
</refblock>. </para>
<para>In more usual circumstances,I possesed the self-control. Not this time
<refblock>
09-102-00-1111
<refint rrr="sdf,2323,2323" refid="Edff123">
<effect effrg="Edff12434"/>
09-102-00</refint>
</refblock>. </para>
</prcitem>
</prcitem1>
</prclist1>
</pgblk>
</subject>
</section>
</chapter>
</book>
我正在尝试构建所有元素的字典(以便我可以使用它构建 Pandas DataFrame):
解析xml并获取根:
import xml.etree.ElementTree as ET
parsed = ET.parse(open('my_testxml.xml'))
root = parsed.getroot()
将xml文件的所有节点放入一个列表:
all_Nodes = list(root.iter())
然后开始在字典中获取输出:
for i,elem in enumerate(all_Nodes):
d={}
d[all_Nodes[i].tag] = all_Nodes[i].text
我原以为上面会输出元素标签的键,以及相应的文本值。我也可以尝试为属性添加一行
然而我得到的唯一结果是
d = {'效果':无}
我尝试过 xmltodict,但它一直给我一个语法错误
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)