WebBrowser 想說愛你不容易

2022-03-21 09:12:30 字數 1132 閱讀 2751

最近專案中需要在 winform 中載入 xhtml 檔案並修改,頗廢了一些周折,特發文紀念,同時討論下有沒有更好的辦法。

在winform中載入網頁眉先想到的(其實目前也只能使用)當然是使用 webbrowser 控制項,但是。。。這個控制項真不太好用。

(win7 下正常,但是現在xp不還是王道嘛)

腫麼辦:將檔名改為 html 就行了, 處理完畢後再把檔案改回 xhtml。

2. 使用 webbrowser 開啟後, 再通過 document.documentelement.outerhtml 取得的 html **中所有的 attribute 的引號全丟失了

例如原始檔為 

開啟後就變成 

3. 同第2點,html **的標籤全部變成大寫

例如原始檔為 

開啟後就變成 

4. 同第2點,html **中的 img 標籤自動變成非閉合

例如原始檔為

開啟後就變成

5. 同第2點,html **中的 br 標籤全部變成非閉合

例如原始檔為 

開啟後就變成

以上的 2,3,4,5 點在 xhtml 下都是屬於不規範的**,根本無法開啟,沒辦法,只能乙個個用正則修改。

附上**:

//標籤全部變小寫

html = regex.replace(html, @"

(?<=\

", delegate(match m)

);//

屬性值加上雙引號

html = regex.replace(html, @"

=([^""]+?)([\s>])

", delegate(match m)

);//

img閉合

html = regex.replace(html, "

(?<=\\]+)>

", delegate(match m)

, regexoptions.ignorecase);

//br 閉合

html = regex.replace(html, "

", "

", regexoptions.ignorecase); 

修改後勉強可以用了,但是不知道有沒有後遺症啊。

高手們說說,我這樣的作法對嗎?

crontab,想說愛你不easy

跑自己主動化指令碼的機器連不上toastserver了,僅僅能自己寫個指令碼每天跑了。當然要放在crontab裡了。5 3 sh nosecron.sh 第二天過來一看結果,fail了大半。然後在log的最前面有一句 warning failed to execute tcpdump.check i...

DirectUI之edit,輸入想說愛你不容易

directui 模擬各控制項有的比較簡單比如按鈕,有的卻很麻煩 比如edit,想象一下自己做乙個edit所要面對的問題 1 游標定位,2 各種文字的標準操作,複製,剪下,貼上.3 文字的選擇 4,文字的輸入,這裡肯定牽涉輸入法問題 5.文字的越界自動排列,文字一旦超出顯示區域範圍,那麼就需要對文字...

IT 想說愛你不容易

檢查了半天,也跟蹤了伺服器端的執行日誌,沒有發現什麼問題,重啟伺服器程序,繼續跟蹤排程程序和執行程序,依舊沒有看出什麼問題,後來根據日誌中的select語句又到資料庫裡面查了一下,嘿!居然沒有資料。估計是命令解析的時候出了錯誤,看來是程式問題了,在伺服器上找到執行程序的源程式,make clean ...