python - 使用 unix/python 将 XML 数据嵌套和重复到文件或配置单元表
问题描述
我正在寻求帮助以使用 unix 或 python 脚本将更复杂的 xml 转换为文件或配置单元表。
xml data is
<FOLD name="ENTERTAINMENT" title="1">
<FOLD name="MOVIE1" title="2">
<EVNT_UNIX id="1234" name="USA"/>
</FOLD>
</FOLD>
<FOLD name="MOVIE2" title="2">
<EVNT_UNIX id="12345" name="INDIA"/>
<WORKS id='W123' name ='KRISH'/>
<WORKS id='W456' name ='Jhon'/>
<WORKS id='W789' name ='Nancy'/>
</FOLD>
<FOLD name="MOVIE3" title="4">
<EVNT_UNIX id="1234" name="INDIA"/>
<WORKS id='W123' name ='KRISH'/>
<FOLD name="MOVIE3-1" title="4">
<WORKS id='W456' name ='Jhon'/>
<LOCATION space='available' name ='TEST'/>
</FOLD>
</FOLD>
..
到目前为止,我已经在 phyton 中尝试了下面的示例代码,并且只获取特定的标签详细信息,而不管内部标签的详细信息。
doc = minidom.parse("test.xml")
foldlist = doc.getElementsByTagName("fold")
for fold in foldlist:
fname = fold.getAttribute("name")
title = fold.getElementsByTagName("title")
print("fname:%s, title:%s" %
(fname, title))
预期输出是
ENTERTAINMENT,MOVIE1,1234,USA
ENTERTAINMENT,MOVIE2,12345,INDIA
ENTERTAINMENT,MOVIE2,w123,KRISH
ENTERTAINMENT,MOVIE2,w456,Jhon
ENTERTAINMENT,MOVIE2,W789,Nancy
ENTERTAINMENT,MOVIE3,1234,INDIA
ENTERTAINMENT,MOVIE3,W123,KRISH
ENTERTAINMENT,MOVIE3-1,4
ENTERTAINMENT,MOVIE3-1,W456,Jhon
ENTERTAINMENT,MOVIE3-1,available,TEST
解决方案
推荐阅读
- c# - 使用 CQRS 时的适当权限管理
- c# - 使用 App.current.MainPage 导航后图像源重置
- crystal-reports - 如何获得一个既可以垂直延伸以填充一个部分又具有由公式确定的背景的对象?
- php - 将测验结果保存到数据库
- angular - 部署在 NX monorepo 中创建的 nestjs 服务器
- verilog - 读取信号值的系统函数
- scikit-learn - 如何使用 GridSearchCV 进行一类分类
- c# - 如何在 ISuggestedAction 中使用来自 .imagemanifest 的 ImageMoniker
- django - 在 Ubuntu 中查看 PostgreSQL 数据库上的数据
- javascript - 任务成功完成时开玩笑返回非零代码