-1
我经历了lxml tutorial,我有一个问题:为什么lxml.etree.SubElement(body,“br”)将创建<br />?
下面是代码:
>>> html = etree.Element("html")
>>> body = etree.SubElement(html, "body")
>>> body.text = "TEXT"
>>> etree.tostring(html)
b'<html><body>TEXT</body></html>'
#############LOOK!!!!!!!############
>>> br = etree.SubElement(body, "br")
>>> etree.tostring(html)
b'<html><body>TEXT<br/></body></html>'
#############END####################
>>> br.tail = "TAIL"
>>> etree.tostring(html)
b'<html><body>TEXT<br/>TAIL</body></html>'
正如你所看到的,在包裹块,指令br = etree.SubElement(body, "br")
只会制造一个<br />
马克, 为什么是这样?
是br
保留字吗?
你是什么意思的保留字? Python中有很少[保留字](http://stackoverflow.com/q/22864221/190597),而'br'不是其中之一。 – unutbu 2014-10-19 10:17:51
我不能告诉你在这里问什么。这种行为与你所期待的有何不同? – 2014-10-19 10:21:26
'
'是[空格符号](http://www.w3.org/TR/xhtml1/#h-4.6)空元素'
'。由于'SubElement()'不会创建*标签*,而是*元素*,所以您会得到一个完整的元素。 – 2014-10-19 10:37:08