6

我正在尝试打开并解析一些 html。到目前为止,一切正常,例如,我可以打开源代码并打印它。但是在解析时,我被“ElementTree 实例没有属性'fromstring'”所困扰

这是我的 Django view.py 代码:

from django.template import loader, Context
from django.http import HttpResponse
import urllib
from xml.etree.ElementTree import ElementTree

def transform (request):
  opener = urllib.FancyURLopener({})
  f = opener.open("http://www.google.com/")
  r = f.read()
  f.close()
  tree = ElementTree()
  tree.fromstring(r)
  p = tree.find("body/h1")
  t = loader.get_template("transform.html")
  c = Context({'neco': p })
  return HttpResponse(t.render(c))

Django 版本:1.2.4 Python 版本:2.6.5

请问有人有什么想法吗?

4

1 回答 1

19

您的导入语句是错误的......fromstringxml.etree.ElementTree模块中的自由函数,而不是类的方法xml.etree.ElementTree.ElementTree

from xml.etree import ElementTree as etree
...
tree = etree.fromstring(r)
于 2011-02-03T16:12:04.073 回答