0

我正在开发一个程序来解析路透社数据集的各种 sgml 文件。但是我发现的文档不包含包含所有子节点的根节点。它只是在 DTD 之后有一组<reuters>..</reuters>标签。所以解析树并使用getroot()只给出第一个<reuters>标签,而不是整个列表。如何在不更改输入文件的情况下解决它?我的代码如下:

import os
from lxml import etree as ET

dirname = 'dataset'

for filename in os.listdir(dirname):
    filepath = os.path.join(dirname, filename)

    parser = ET.parser(encoding='utf-8', recover=True)

    tree = ET.parse(filepath, parser)

    root = tree.getroot()

这个根元素只是第一个<reuters>标签,而 sgml 文件如下:

<!DOCTYPE lewis SYSTEM "lewis.dtd">
<reuters> .. </reuters>
<reuters> .. </reuters>
<reuters> .. </reuters>

我想要的是拥有所有<reuters>标签,一次一个,并处理它们的内容。

4

0 回答 0