Python XML元素中的tostring应该返回适当的文本吗?

2024-04-20 15:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

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

result=lxml.html.tostring(child, method="text", encoding='utf8') #child is the given element

在浏览器上,它正确地呈现为一行:http://jsbin.com/AnoYePA/1/edit

我从这个操作得到的结果字符串由几行组成,每行一个单词。你知道吗

所以问题是,“result”字符串是否应该是一行的,就像它在互联网浏览器中呈现的一样?你知道吗

我应用此操作的元素附加在粘贴箱中。你知道吗


Tags: 字符串text标记child元素ishtml浏览器
1条回答
网友
1楼 · 发布于 2024-04-20 15:24:09

不,不应该

节点的文本中有新行。您要求lxml提取节点的文本,其中包括空格。你知道吗

web浏览器将任何一行空白呈现为单个空格,因此这些换行符在输出中不可见。但这是HTML呈现方式的一个特性,而不是文本。lxml没有再现这种呈现的事实并不比文本没有与浏览器中相同的字体、粗体等更“错误”。你知道吗

如果您想复制HTML的空白压缩,您可以很容易地做到这一点,例如re.sub('\s', ' ', s)。你知道吗

相关问题 更多 >