我正在尝试解析XML文件(字幕)的以下内容(这里只是一个块)
<?xml version="1.0" encoding="utf-8"?>
<document id="6736625">
<s id="1">
<time id="T1S" value="00:02:54,941" />
- Le requin t'a eue.
</s>
<s id="2">
- Tu es sérieuse ?
</s>
<s id="3">
Regarde ce que tu as fait.
<time id="T1E" value="00:02:58.251" />
</s>
<s id="4">
<time id="T2S" value="00:02:58,351" />
Je vais t'en chercher un autre.
</s>
<s id="5">
On peut faire quelque chose, je m'ennuie....
<time id="T2E" value="00:03:01,249" />
</s>
...
带有以下Python代码
tree = ET.parse('data/6736625.xml')
root = tree.getroot()
myPhrasesArray = [""]
for q in root:
try:
a = q.text
b = a
myPhrasesArray.append(b)
except :
print(" arh ")
print(myPhrasesArray)
但它返回:
['', '', '- Tu es sérieuse ?', 'Regarde ce que tu as fait.',
'', "On peut faire quelque chose, je m'ennuie....", '', '',
"J'ai promis à Stuart de l'appeler.", '', '- A tes ordres.',
.....
如果在实际文本之前有ID时间/值行,我似乎无法找到一种获取“ / s”文本值的方法。
任何帮助???
["- Le requin t'a eue.",
'- Tu es sérieuse ?',
'Regarde ce que tu as fait.',
"Je vais t'en chercher un autre.",
"On peut faire quelque chose, je m'ennuie...."]
myPhrasesArray = [] # just start with it empty
for s in root.findall('s'):
myPhrasesArray.append(s.text)
鉴于此非常简单,您甚至可以在一行中完成: