最近專案中需要在 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 ...