python lxml外部实体不读取目录中的文件名(文件://),但将获取文件名(file:///home/text.txt)

python lxml外部实体不读取目录中的文件名(文件://),但将获取文件名(file:///home/text.txt),python,xml,python-2.7,entity,lxml,Python,Xml,Python 2.7,Entity,Lxml,我正在使用Python2.7和lxml: parser = etree.XMLParser(load_dtd=True, no_network=False, resolve_entities=True) xml = etree.parse(data, parser=parser) 生成的xml将使用外部实体解析数据。如果外部实体是: file:///home/text.txt 但是,如果我们希望处理外部实体以列出目录中的文件: file:///home/ 外部实体变量为空 这是一台debi

我正在使用Python2.7和lxml:

parser = etree.XMLParser(load_dtd=True, no_network=False, resolve_entities=True)
xml = etree.parse(data, parser=parser)
生成的xml将使用外部实体解析数据。如果外部实体是:

file:///home/text.txt
但是,如果我们希望处理外部实体以列出目录中的文件:

file:///home/
外部实体变量为空

这是一台debian机器

获取文件的示例:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlset [
<!ENTITY list SYSTEM "file:///home/test.txt" >]>
<test>
    <game>
        <files>&list;</files>
    </game>
</test>

&名单;
未获取文件名列表的示例:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlset [
<!ENTITY list SYSTEM "file:///home/" >]>
<test>
    <game>
       <files>&list;</files>
     </game>
</test>

&名单;

请提供一个示例。上面添加了一些示例。我不确定您的期望值。外部实体无法从目录生成文件名列表。这不是它的工作原理<代码>file:///home/不是包含文本的文件。这不是关于XML或lxml的问题。这是一个关于在文件系统中遍历树与读取单个文件的问题file:///home/ . 对此有很多参考,例如,请参见步骤4的结尾