是否有一個工具,像比較HTML文檔:比較兩個HTML文檔忽略多個和尾部空格
<p b="1" a="0 "> a b
c </p>
(爲C字符串:"<p> a b\nc </p>"
)等於到:
<p a="0 " b="1">a b c</p>
請注意:
- 文本多個空格轉換到單個空格
- 換行符轉化爲空格
- 文本尾部和標題空格被剝離
- 屬性放入一個標準順序
- 屬性值沒有變化,包括尾部空格
上爲什麼我想要那
我正在努力Markdown Test Suite,旨在衡量markdo發動機的符合性和便攜性。
我們有降價輸入,預期的HTML輸出,並且想要確定生成的HTML輸出是否等於預期的輸出。
問題是Markdown是未指定的,所以我們無法直接比較兩個HTML字符串。
實際測試代碼爲here,如果您想嘗試解決方案,請修改run-tests.py#dom_normalize
。
事情我想
beautifulsoup。訂購屬性,但不能很好地處理空白?
功能
formatter
正則表達式修改可能有效,但我沒有看到區分節點和屬性內部的方法。像這樣的Python唯一的解決方案將是理想的。
尋找類似的
isEqualNode()
(不起作用,因爲忽略nodeVaue
)+無頭的一些JS引擎JavaScript函數。找不到一個。
如果沒有什麼更好的,我只需要將自己的輸出格式化程序前端寫入某個HTML解析器。