Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
elementtree中python xml元素中的tostring不应该返回正确的文本吗?_Python_Xml_Tostring_Elementtree - Fatal编程技术网

elementtree中python xml元素中的tostring不应该返回正确的文本吗?

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

我使用tostring将标记为“p”的xml元素转换为字符串

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
方法。非常感谢。这不仅解决了我的问题,而且完美地帮助我清楚地理解为什么会这样。