我正在尝试提取xml文件中序列下的名称元素。我在示例XML的顶部进行了粘贴以进行说明。有了这个,我想通过指导获得成功的01 Interview_been文本并将其写入文件。xml中有多个序列标签,我正在尝试弄清楚如何进行提取。我试图弄清楚如何使用xml.etree和xml.dom.minidom,但是我似乎无法将其包裹住。我能够从序列标签中获取所有id值,但不能从名称元素中获取。我在xml之前粘贴我的代码。
from xml.etree import ElementTree
file = open("xmldump.txt", "r")
filedata = file.read()
file.close()
with open('test.xml', 'rt') as f:
tree = ElementTree.parse(f)
for node in tree.iter('name'):
sequenceid = node.attrib.get('name')
print ' %s' % (sequenceid)
newLine = sequenceid + "\n"
file = open("xmldump.txt", "w")
file.write(newLine)
file.close()
Run Code Online (Sandbox Code Playgroud)
这是XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xmeml>
<xmeml version="5">
<bin>
<uuid>0F5D72FA-54E4-4DE8-81D7-CC33F5C43836</uuid>
<updatebehavior>add</updatebehavior>
<name>Logged</name>
<children>
<sequence id="01 Interview_been successful through mentorship">
<uuid>12FB944D-83EA-4527-9A54-2130A42E3A06</uuid>
<updatebehavior>add</updatebehavior>
<name>01 Interview_been successful through mentorship</name>
<duration>1195</duration>
<rate>
<ntsc>TRUE</ntsc>
<timebase>24</timebase>
</rate>
<timecode>
Run Code Online (Sandbox Code Playgroud)
好吧,我不确定您是否要使用“ id”属性或名称标签(您的代码令人困惑,它会尝试从“序列”标签中提取“名称”属性,但是该标签只有一个“ id” “属性)。以下是提取两者的代码,应该可以帮助您开始了解ElementTree的工作方式
from xml.etree import ElementTree
with open('test.xml', 'rt') as f:
tree = ElementTree.parse(f)
for node in tree.iter('sequence'):
sequenceid = node.attrib.get('id')
name = node.findtext('name')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5418 次 |
| 最近记录: |