У меня есть несколько XML-файлов в папке.Я хочу разобрать все xml-файлы. Я пробовал синтаксический анализ minidom, но не смог этого сделать.Вот XML-файлы, как-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="frame.xsl"?>
<frame cBy="KmG" cDate="03/05/2008 03:50:35 PST Wed" name="Abandonment" ID="2031" xsi:schemaLocation="../schema/frame.xsd" xmlns="http://framenet.icsi.berkeley.edu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<definition><def-root>An <fex name="Agent">Agent</fex> leaves behind a <fex name="Theme">Theme</fex> effectively rendering it no longer within their control or of the normal security as one's property.
<ex><fex name="Agent">Carolyn</fex> <t>abandoned</t> <fex name="Theme">her car</fex> and jumped on a red double decker bus.</ex>
<ex>Perhaps <fex name="Agent">he</fex> <t>left</t> <fex name="Theme">the key</fex> in the ignition</ex>
<ex><t>Abandonment</t> <fex name="Theme">of a child</fex> is considered to be a serious crime in many jurisdictions.</ex>
</frame>
Я попробовал этот код ниже - где я хочу взять только строку между ex.
from helperDef import *
import os
from xml.dom import minidom
for root, dirs, files in os.walk('frame'):
for file in files:
if (file.endswith('.xml')):
xmldoc = minidom.parse(os.path.join(root, file))
if '<ex>' in xmldoc:
line = find_between(xmldoc, '<ex>', '</ex>')
print(line)
clean_line = cleanText(line)
print(clean_line)
Ошибка -
Ошибка типа: аргумент типа «Документ» не повторяется
Есть ли способ сделать это? Помощь!