lxml - ImportError:DLL加载失败:找不到指定的过程

时间:2017-07-13 09:54:29

标签: python xml parsing lxml

修改 这似乎是实际问题:

ImportError: DLL load failed: The specified procedure could not be found.

使用:

from lxml import etree with open('C:\\Users\\jelme\Desktop\\TestScript\\derpo.xml', 'rb') as f: tree = etree.parse(f)

任何解决方案

原始问题:

Goodday, 我是python的新手。这是直接的问题:

在此代码中:

import lxml as ET tree = ET.parse(filename)

我收到此错误:

AttributeError: module 'lxml' has no attribute 'parse'

让我解释一下我想做什么。 我编写了一个程序(成功地)使用ElementTree执行以下操作:

  • 打开一堆xml文件
  • 更改文件中的某些文字
  • 从每个文件中获取某个元素及其子元素
  • 制作一个包含所有这些元素的新树
  • 将新树写入新文件

但是,我发现我需要原始文件中的某些CDATA行,而ElementTree不支持(对吧?)。因此我想改为lxml。我认为可以通过简单地更改导入的模块来完成,但是,我收到此错误。

我在Windows上运行并通过以下方式安装lxml:

pip install lxml

希望有足够的信息!感谢帮助。

3 个答案:

答案 0 :(得分:0)

功能parse存在于包etree的模块lxml中。您可以改用以下代码:

from lxml import etree as ET
tree = ET.parse(open(file_path))

答案 1 :(得分:0)

它应该是这样的

from lxml import etree
tree = etree.parse("doc/test.xml")

如此处http://lxml.de/parsing.html

所述

答案 2 :(得分:0)

来自文档:

  

parse()函数用于从文件和类文件对象中解析。

因此,您需要将文件对象而不是文件名传递给解析器:

from lxml import etree
with open('/path/to/file.xml', 'rb') as f:
    tree = etree.parser(f)