elementtree中python xml元素中的tostring不应该返回正确的文本吗?
我使用tostring将标记为“p”的xml元素转换为字符串elementtree中python xml元素中的tostring不应该返回正确的文本吗?,python,xml,tostring,elementtree,Python,Xml,Tostring,Elementtree,我使用tostring将标记为“p”的xml元素转换为字符串 result=lxml.html.tostring(child, method="text", encoding='utf8') #child is the given element 在浏览器上,它会正确渲染为一条线: 我从这个操作中得到的结果字符串由几行组成,每行一个单词 所以问题是,“结果”字符串不应该是一行的,就像它在互联网浏览器中呈现的一样吗 我应用此操作的元素附着在粘贴箱中。不,不应该 节点的文本中有换行符。您要求lxm
result=lxml.html.tostring(child, method="text", encoding='utf8') #child is the given element
在浏览器上,它会正确渲染为一条线:
我从这个操作中得到的结果字符串由几行组成,每行一个单词
所以问题是,“结果”字符串不应该是一行的,就像它在互联网浏览器中呈现的一样吗
我应用此操作的元素附着在粘贴箱中。不,不应该
节点的文本中有换行符。您要求lxml提取节点的文本,其中包括空格
web浏览器将任何一段空白显示为一个空格,因此这些换行符在输出中不可见。但这是HTML呈现方式的一个特点,而不是文本。lxml没有再现渲染的事实并不比文本没有与浏览器中相同的字体、粗体等更“错误”
如果你想复制HTML的空白压缩,你可以很容易地做到这一点,例如,
re.sub('\s',''s)
作为旁注,你不需要使用tostring
函数和method=“text”
在这里,你可以在节点上使用text\u content
方法。非常感谢。这不仅解决了我的问题,而且完美地帮助我清楚地理解为什么会这样。