python - lxml.etree為什么會自動加上加上</i>?
問題描述
正在學習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 >電子商務</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 >電子商務</a></span><span class='loca c-gray-aset t-small'> <a >天津</a></span> </p></body></html>
主要不理解為什么<i>標簽那里會出錯呢?請問怎么解決這個問題?謝謝~
問題解答
回答1:主要是因為
p元素內容分類 Flow content, palpable content.允許的內容 Phrasing content.允許的父元素任何接受flow content的元素
i元素Content catergories Flow content, phrasing content, palpable content.允許量 phrasing content.
很顯然P元素的父元素應該是flow content類型的,然而i并不滿足條件,也就是說這是不符合規范的。解決辦法就是i直接換為p。
相關文章:
1. 一個mysql聯表查詢的問題2. 運行python程序時出現“應用程序發生異?!钡膬却驽e誤?3. html5 - iOS的webview加載出來的H5網頁,怎么修改html標簽select的樣式字體?4. mysql - 一個表和多個表是多對多的關系,該怎么設計5. java - 我現在一個servlet中有調用socket訪問,作為socket的客戶端,6. python 如何實現PHP替換圖片 鏈接7. python如何不改動文件的情況下修改文件的 修改日期8. 主從備份 - 跪求mysql 高可用主從方案9. javascript - git clone 下來的項目 想在本地運行 npm run install 報錯10. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?
