今天遇到一個特別XML
<?xml version="1.0" encoding="utf-8" ?>
<root>
<row sid="1234" n="AAA" dt="20101214" />
</root>
解讀方式
$doc = new DOMDocument();
$doc->formatOutput = true;
$doc->loadXML("以上那段XML字串");
$x = $doc->documentElement;
foreach($x->childNodes AS $item){
//print $item->nodeName."=".$item->nodeValue."<BR>";
foreach($item->attributes AS $row){
print $row->name ."=". $row->value."<BR>"
}
}
JavaScript方式(待.......)
2010年12月14日
[PHP] XML DOM物件
PHP有DOM物件可以專門用來處理XML文件
但佔用的記憶體量較大,不太適合處理太大的XML文件
windows版本DOM模組已預設有效
linux則還要另外做一些準備設定
但佔用的記憶體量較大,不太適合處理太大的XML文件
windows版本DOM模組已預設有效
linux則還要另外做一些準備設定
2010年11月30日
2010年11月17日
Google Desktop Gadget 開發筆記
################################################################
################################################################
2010/11/17
主頁一定是main.xml,在main.js讀取其他檔的funcation,可先用以下方法丟入一變數detailView
2010年11月15日
[JavaScript] setInterval 和 setTimeout 的區別
JavaScript中有兩函式 setInterval 和 setTimeout 的作用很像,他們有一些區別如下
1. setInterval裡設定的程式只會被重複觸發,直到執行了clearInterval為止
2. setTimeout 裡設定的程式只會被觸發一次
3. setInterval 和 setTimeout都是利用時間去觸發某個動作的執行;並且下一行程式不會因為時間設定的長短而被延遲或影響
也就表示,當程式走到setInterval 或 setTimeout那行執行時,觸發就交給window物件去處理,其他程式會繼續執行不會被影響!
4. setInterval 和 setTimeout 在執行時都會產生timerID以便在某些狀況下需使用clearInterval 和 clearTimeout去取消那些觸發動作
clearInterval ( timeoutId );
setInterval & clearInterval用法
wooYayIntervalId = setInterval ( "wooYay()", 1000 );
clearInterval ( wooYayIntervalId );wooYayIntervalId = setInterval ( "wooYay()", 1000 );
setTimeout ( expression, timeout );
clearTimeout ( timeoutId );
setTimeout & clearTimeout 用法
第一種:
<input type="button" name="clickMe" value="Click me and wait!" onclick="setTimeout('alert(\'Surprise!\')', 5000)"/>
第二種:
alertTimerId = setTimeout ( "showAlert()", 3000 );
clearTimeout ( alertTimerId )
2010年11月12日
[JavaScript] parseInt字串轉換成整數
眾所周知,parseInt() 是用來把字串轉換成整數的函式,一般來說,只要是數字開頭的字串,都能夠轉換成功,例如 parseInt('123a') 的結果為 123,parseInt('12 34') 的結果為12。
關於 parseInt() 有個著名的情況,有些人稱為臭蟲,讓各位自己來評斷。
parseInt('01') 得出的結果是1,事實上,一直到 07 為止,都能得到預期結果,問題來了,parseInt('08') 和 parseInt('09') 這兩者運算的結果,都得到0,這是為什麼呢?
主要原因在於 parseInt() 這個函式,本身可以傳遞兩個參數,語法是:
parseInt(string, radix)
第一個參數 string 當然是要轉換為數字的字串,第二個參數 radix 則是要用二進位、還是八進位或十六進位,又或是最熟悉的十進位來解譯這個字串呢?
也就是說,如果 parseInt('FF',16),代表以 16 進位方式來解析FF這個字串,當然得到的結果就是 255 了,同理,parseInt('FF',10) 以 10 進位來解析FF這個字串,根本就不是數字,所以得到的結果會是 NaN。
但大多數人不會特別指定第二個參數,這時 JavaScript 就自動判斷第一個傳遞的參數是否為某種數字型式。
在 JavaScript 眼中,以 0x 開頭的字串,都視為十六進位字串,如果單單是0開頭,第二個字母不是 x,則視為八進位或二進位字串,十六進位使用的字母計有 0-9,A-F,而八進位使用的字母則為 0-7,所以,當發生parseInt('08') 又未指定以何種數值型態解析時,JavaScript 以 0 為起頭,接下來的字母又不是 x,那一定是八進位了,但是,八進位裡,怎麼可能有 8 和 9 這兩個字母呢?所以,一定是不合法的字串,於是就傳回 0。
同理,parseInt('010') 回傳的值,也不是 10,而是 8,因為 parseInt() 認為 0 開頭,接下來的字母不是 x,而是 1,就以二進位來解析 010 這個字串,所以一切問題都在於以 0 開頭,所造成的誤會。
最好的解決辦法,就是別偷懶,把第二個參數也加進去,例如 parseInt('08',10)、parseInt('010',10),那就萬無一失了!
資料來源(2008/6/3):http://audi.tw/Blog/JavaScript/javascript.parseInt.asp
2010年11月11日
[HTML] 很少用到的標籤
<optgroup>
<optgroup>標籤是定義select標籤中的選項分組的一種很好的方法。比如,你需要按時間來分組電影列表,那麼就可以這樣做
<label for="showtimes">上映時間</label>
<select id="showtimes" name="showtimes">
<optgroup label="下午一點"></optgroup>
<option value="titanic">泰坦尼克號</option>
<option value="nd">貧民窟的百萬富翁</option>
<option value="wab">怪物史瑞克</option>
<optgroup label="下午兩點"></optgroup>
<option value="bkrw">獅子王</option>
<option value="stf">全民超人</option> </select>
<acronym>
<acronym> 是一種定義或更多解釋一組文字的方法。當你用鼠標放到使用<acronym>標籤的文字時,一個顯示title標籤的內容的框框將會出現在下邊。比如:
微博客網站<acronym title="Founded in 2006"> Twitter</acronym> 最近常常宕機
<ins> 和<del>
如果你想使用標籤來顯示編輯版本,<ins> 和<del> 正好適合。顧名思義,<ins> 用下劃線高亮顯示添加進來的內容,而<del> 用刪除線顯示被移除的信息。
John <del>likes</del> <ins>LOVES</ins> his new iPod.
<fieldset>
Fieldset是一個小巧的標籤,你可以用來為你的表單元素添加邏輯分組。<fieldset>標籤就會在其內部的元素周圍畫一個框。另外一點就是可以在fieldset裡面添加<label> 標籤來定義分組的標題。
<form><fieldset>
<legend>你比5年紀學生聰明嗎?</legend>
當然<input name="yes" type="radio" value="yes" />
不知道<input name="no" type="radio" value="no" />
</fieldset>
</form>
資料來源:http://www.wowbox.com.tw/blog/article.asp?id=3278
<optgroup>標籤是定義select標籤中的選項分組的一種很好的方法。比如,你需要按時間來分組電影列表,那麼就可以這樣做
<label for="showtimes">上映時間</label>
<select id="showtimes" name="showtimes">
<optgroup label="下午一點"></optgroup>
<option value="titanic">泰坦尼克號</option>
<option value="nd">貧民窟的百萬富翁</option>
<option value="wab">怪物史瑞克</option>
<optgroup label="下午兩點"></optgroup>
<option value="bkrw">獅子王</option>
<option value="stf">全民超人</option> </select>
<acronym>
<acronym> 是一種定義或更多解釋一組文字的方法。當你用鼠標放到使用<acronym>標籤的文字時,一個顯示title標籤的內容的框框將會出現在下邊。比如:
微博客網站<acronym title="Founded in 2006"> Twitter</acronym> 最近常常宕機
<ins> 和<del>
如果你想使用標籤來顯示編輯版本,<ins> 和<del> 正好適合。顧名思義,<ins> 用下劃線高亮顯示添加進來的內容,而<del> 用刪除線顯示被移除的信息。
John <del>likes</del> <ins>LOVES</ins> his new iPod.
<fieldset>
Fieldset是一個小巧的標籤,你可以用來為你的表單元素添加邏輯分組。<fieldset>標籤就會在其內部的元素周圍畫一個框。另外一點就是可以在fieldset裡面添加<label> 標籤來定義分組的標題。
<form><fieldset>
<legend>你比5年紀學生聰明嗎?</legend>
當然<input name="yes" type="radio" value="yes" />
不知道<input name="no" type="radio" value="no" />
</fieldset>
</form>
資料來源:http://www.wowbox.com.tw/blog/article.asp?id=3278
2010年11月1日
2010年10月22日
2010年10月15日
[DB] SQL Server錯誤:15138 刪除對於用戶失敗
剛復原回來的DB
上面還擁有著舊的DB 登入user
要刪除時卻一直不給清除,表示「資料庫主體在資料庫中擁有 結構描述 且不法卸除」
SQL Server Managerment Studio=>資料庫 =>DBName=>安全性=>結構描述
先把此對應的User刪除後就可重建了!
上面還擁有著舊的DB 登入user
要刪除時卻一直不給清除,表示「資料庫主體在資料庫中擁有 結構描述 且不法卸除」
SQL Server Managerment Studio=>資料庫 =>DBName=>安全性=>結構描述
先把此對應的User刪除後就可重建了!
2010年10月8日
2010年10月7日
[PHP][smarty]date_format日期格式
往往使用php的日期格式化還要轉時間戳記
例
date("格式",[戳記]);
date("Y-m-d h:i:s", strtotime("2010/10/3 21:59:23"));
若是版本眾多,每版的時間樣式不同會改到很煩
利用smarty自家的時間格式化,就不用再動程式了
例
date("格式",[戳記]);
date("Y-m-d h:i:s", strtotime("2010/10/3 21:59:23"));
若是版本眾多,每版的時間樣式不同會改到很煩
利用smarty自家的時間格式化,就不用再動程式了
2010年10月5日
2010年10月4日
訂閱:
文章 (Atom)