我有一组 XML TEI 文件,其中包含文档的转录。我想解析这些 XML 文件并仅提取文本信息。
我的 XML 看起来像:
<?xml version='1.0' encoding='UTF8'?>
<?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<text>
<body>
<ab>
<pb n="page1"/>
<cb n="1"/>
<lb xml:id="DD1" n="1"/>my sentence 1
<lb xml:id="DD2" n="2"/>my sentence 2
<lb xml:id="DD3" n="3"/>my sentence 3
<cb n="2"/>
<lb xml:id="DD1" n="1"/>my sentence 4
<lb xml:id="DD2" n="2"/>my sentence 5
<pb n="page2"/>
<cb n="1"/>
<lb xml:id="DD1" n="1"/>my sentence 1
<lb xml:id="DD2" n="2"/>my sentence 2
<cb n="2"/>
<lb xml:id="DD1" n="1"/>my sentence 3
<lb xml:id="DD1" n="2"/>my sentence 4
</ab>
</body>
</text>
</TEI>
我尝试使用 LXML 访问信息,方法是:
with open(file,'r') as my_file:
root = ET.parse(my_file, parser = ET.XMLParser(encoding = 'utf-8'))
list_pages = root.findall('.//{http://www.tei-c.org/ns/1.0}pb')
for page in list_pages:
liste_text = page.findall('.//{http://www.tei-c.org/ns/1.0}lb')
final_text = []
for content in liste_text:
final_text.append(content.text)
我想在最后有这样的东西:
page1
my sentence 1
my sentence 2
my sentence 3
my sentence 4
my sentence 5
page2
my sentence 1
my sentence 2
my sentence 3
my sentence 4
如果我成功访问 lb 对象,则没有文本信息链接到它们。 你能帮我提取这些信息吗? 谢谢