python - lxml.etree為什么會(huì)自動(dòng)加上加上</i>?
問題描述
正在學(xué)習(xí)lxml,代碼如下:
from lxml import etreetext = ’’’<i class='cell maincell'> <p class='title'><a target='_blank' > <span>洋鼴鼠</span></a> </p> <p><span class='tags t-small c-gray-aset'> <a >電子商務(wù)</a></span><span class='loca c-gray-aset t-small'> <a >天津</a></span> </p></i>’’’html = etree.HTML(text)print(etree.tostring(html,encoding=’utf-8’).decode(’utf-8’))
輸出如下:
<html><body><i class='cell maincell'> </i><p class='title'><a target='_blank' > <span>洋鼴鼠</span></a> </p> <p><span class='tags t-small c-gray-aset'> <a >電子商務(wù)</a></span><span class='loca c-gray-aset t-small'> <a >天津</a></span> </p></body></html>
主要不理解為什么<i>標(biāo)簽?zāi)抢飼?huì)出錯(cuò)呢?請(qǐng)問怎么解決這個(gè)問題?謝謝~
問題解答
回答1:主要是因?yàn)?/p>
p元素內(nèi)容分類 Flow content, palpable content.允許的內(nèi)容 Phrasing content.允許的父元素任何接受flow content的元素
i元素Content catergories Flow content, phrasing content, palpable content.允許量 phrasing content.
很顯然P元素的父元素應(yīng)該是flow content類型的,然而i并不滿足條件,也就是說這是不符合規(guī)范的。解決辦法就是i直接換為p。
相關(guān)文章:
1. dockerfile - [docker build image失敗- npm install]2. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!3. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題4. android - viewpager問題PagerTabStrip樣式5. python 字符串匹配問題6. css3 隱藏文本7. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問題 麻煩幫我看一下8. javascript - 怎么實(shí)現(xiàn)讓 div 里面的 img 元素 中心居中, 如下示例圖9. javascript - 前端如何通過ajax和node.js交互?10. javascript - IOS微信audio標(biāo)簽不能通過touchend播放
