Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import lxml
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import lxml
ImportError: No module named lxml
>>> import lxml
>>> class EchoTarget(object):
def start(self, tag, attrib):
print("start %s %r" % (tag, dict(attrib)))
print attrib
def end(self, tag):
print("end %s" % tag)
def data(self, data):
print("data %r" % data)
def comment(self, text):
print("comment %s" % text)
def close(self):
print("close")
return "closed!"
>>> from lxml import etree
>>> from io import StringIO, BytesIO
>>> parser = etree.XMLParser(target = EchoTarget())
>>> result = etree.XML("<element a='aaa' b='bbb' c=333 >some<!--comment-->text</element>",parser)
close
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
result = etree.XML("<element a='aaa' b='bbb' c=333 >some<!--comment-->text</element>",parser)
File "lxml.etree.pyx", line 2723, in lxml.etree.XML (src/lxml/lxml.etree.c:52448)
File "parser.pxi", line 1573, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:79932)
File "parser.pxi", line 1452, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:78774)
File "parser.pxi", line 960, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:75389)
File "parsertarget.pxi", line 149, in lxml.etree._TargetParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:86190)
File "parser.pxi", line 585, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:71955)
XMLSyntaxError: AttValue: " or ' expected, line 1, column 15
>>> result = etree.XML("<element a='aaa' b='bbb' >some<!--comment-->text</element>",parser)
start element {'a': u'aaa', 'b': u'bbb'}
{'a': u'aaa', 'b': u'bbb'}
data u'some'
comment comment
data u'text'
end element
close
>>> result
'closed!'
>>> class EchoTarget(object):
def start(self, tag, attrib):
print attrib
print("start %s %r" % (tag, dict(attrib)))
def end(self, tag):
print("end %s" % tag)
def data(self, data):
print("data %r" % data)
def comment(self, text):
print("comment %s" % text)
def close(self):
print("close")
return "closed!"
>>> result = etree.XML("<element a='aaa' b='bbb' >some<!--comment-->text</element>",parser)
start element {'a': u'aaa', 'b': u'bbb'}
{'a': u'aaa', 'b': u'bbb'}
data u'some'
comment comment
data u'text'
end element
close
>>> class EchoTarget(object):
def start(self, tag, attrib):
print attrib
print("start %s %r" % (tag, dict(attrib)))
def end(self, tag):
print("end %s" % tag)
def data(self, data):
print("data %r" % data)
def comment(self, text):
print("comment %s" % text)
def close(self):
print("close")
return "closed!"
>>> parser = etree.XMLParser(target = EchoTarget())
>>>
>>> result = etree.XML("<element a='aaa' b='bbb' >some<!--comment-->text</element>",parser)
{'a': u'aaa', 'b': u'bbb'}
start element {'a': u'aaa', 'b': u'bbb'}
data u'some'
comment comment
data u'text'
end element
close
>>>