假設要拆解 (A,B),C,(D,E,F),G 這樣的字串, 成為如下的結果:
(A,B)
C
(D,E,F)
G
第一個想到的會是用逗號(,)做分隔符號試試, 但得到的結果如下:
(A
B)
C
(D
E
F)
G
2016/02/25
2015/04/10
[C#][Java] jni4net 基本使用 - Java呼叫C# 函式庫
首先, 到 jni4net 官方網站下載此套件. (我下載的是0.8.8版)
解壓縮後, 會得到三個資料夾:
Step 1: 利用 Visual Studio 建立一個名為 CSharpLib 的 C# 函式庫專案, 並簡單寫一個MainTable.cs 程式如下:
解壓縮後, 會得到三個資料夾:
- bin: 內有 proxygen.exe 執行檔, 用來產生Java與C#程式間溝通用的Proxy.
- lib: 包含將來執行時要用到的 .dll 與 .jar 檔.
- samples: 顧名思義, 放的是 jni4net 的範例程式碼.
Step 1: 利用 Visual Studio 建立一個名為 CSharpLib 的 C# 函式庫專案, 並簡單寫一個MainTable.cs 程式如下:
2014/09/24
2013/01/21
[C#] Windows 目錄的長路徑與短路徑轉換
因為 Windows 的目錄/檔名允許空白字元, 所以造成寫命令列指令(ex: java)時往往要用雙引號(")包裝路徑, 以避免空白字元分隔了參數.
不過最近用了一個 SVG 轉圖的 Java 套件(SVG Rasterizer), 卻不接受雙引號框住的路徑. 反而要將路徑轉為無空白字元的短路徑才行.
2011/04/06
[C#][XPath] 模擬 XPath 的 max 與 min
在 XPath 中, 有兩個函式感覺會很常用, 但 C# 中卻沒 support. 那就是 max() 和 min().
少了這兩個函式, 每次想找 xml 資料中的最大/最小值, 就只能用 Linq 或是 Select 出所有標籤後, 在程式中去一個個比對.
其實 XPath 只要轉個彎, 就能做出類似的功能.
少了這兩個函式, 每次想找 xml 資料中的最大/最小值, 就只能用 Linq 或是 Select 出所有標籤後, 在程式中去一個個比對.
其實 XPath 只要轉個彎, 就能做出類似的功能.
2011/01/27
[XPath][C#] 利用 XPath 的 contains 查詢特定的元素
透過 .Net 處理 XML 時, 有時會想要類似 SQL 裡的 IN (‘a’, b’, 'c’) 的查詢方式.
查一下 w3schools 的 XPath 函式庫, 可以發現一個 function 還蠻符合的:
fn:index-of((item,item,...),searchitem)
只是一套用到程式中, 就會產生以下的 Exception:
Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
發生此問題的原因在於 .Net 並未完全支援 XPath 的函式, 有興趣的可以參考這個網址.
查一下 w3schools 的 XPath 函式庫, 可以發現一個 function 還蠻符合的:
fn:index-of((item,item,...),searchitem)
只是一套用到程式中, 就會產生以下的 Exception:
Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
發生此問題的原因在於 .Net 並未完全支援 XPath 的函式, 有興趣的可以參考這個網址.
2010/08/18
[C#][Java] Excel 日期欄位的數值轉換
2010/08/06
[C#][Java] 處理讀取 XML 時發生的 The entity "xxx" was referenced, but not declared 例外
在XML的應用上, 有時會處理到一些無預期的資料, 例如以下的 sample:
<?xml version="1.0" encoding="UTF-8" ?> <message> <from>yilin</from> <content>copyright © 2008 Power by Test site</content> <message>
[C#] XmlDocument 搭配 Linq 與 XPath
[C#] 從 MySQL 轉資料至 MS SQL Server (SqlBulkCopy)
使用套件: MySQL Connector/Net 6.1 (其他套件可以在此 下載)
因為是大量的資料搬移, 所以採用 .Net 2.0 的 SqlBulkCopy .
連線字串的部分可以到這個網站找: http://www.connectionstrings.com/.
以下是我使用的連線字串:
因為是大量的資料搬移, 所以採用 .Net 2.0 的 SqlBulkCopy .
連線字串的部分可以到這個網站找: http://www.connectionstrings.com/.
以下是我使用的連線字串:
[C#] .Net Remoting 事件派送
過去使用 .Net Remoting 大多都只用到 [C#] .Net Remoting 基本說明 (使用 Interface 和 組態檔) 所述的架構.
不過 .Net Remoting 還有一種事件派送的架構, 就是讓 Client 可向 Server 註冊事件, 當 Server 有事件發生時, 再通知 Client. (大多都以聊天室為例子)
這樣的架構對我來說, 可以應用在派送網站資料 (包括: 圖檔, RSS 資料, 等).
假設現在網站供使用者訂閱的新聞 RSS 資料是放在資料庫裡, 而網站伺服器共有三台 (NLB).
若直接讓這三台網站伺服器各自從資料庫中讀取資料, 其讀取次數將會是 [網站數] * [RSS 頻道數] . (如果沒加入網頁快取機制, 可能要再乘上 [使用者連線數] )
不過 .Net Remoting 還有一種事件派送的架構, 就是讓 Client 可向 Server 註冊事件, 當 Server 有事件發生時, 再通知 Client. (大多都以聊天室為例子)
這樣的架構對我來說, 可以應用在派送網站資料 (包括: 圖檔, RSS 資料, 等).
假設現在網站供使用者訂閱的新聞 RSS 資料是放在資料庫裡, 而網站伺服器共有三台 (NLB).
若直接讓這三台網站伺服器各自從資料庫中讀取資料, 其讀取次數將會是 [網站數] * [RSS 頻道數] . (如果沒加入網頁快取機制, 可能要再乘上 [使用者連線數] )
[C#] .Net Remoting 基本說明 (使用 Interface 和 組態檔)
在說明 .Net Remoting 前, 先推薦 Ingo Rammer 的書: http://www.thinktecture.com/Resources/Books/default.html
我買的是 "Advanced .NET Remoting" 初版, 寫得蠻不錯的, 範例也說得很清楚.
本篇主要說明 .Net Remoting 基本的設計方式與建議的做法, 希望能讓初學者能有一個基本的設計概念, 並避免一些常見的錯誤.
我買的是 "Advanced .NET Remoting" 初版, 寫得蠻不錯的, 範例也說得很清楚.
本篇主要說明 .Net Remoting 基本的設計方式與建議的做法, 希望能讓初學者能有一個基本的設計概念, 並避免一些常見的錯誤.
2010/07/30
[C#] 讀取圖檔中的 GPS 基本資訊
由於現在很多 Google Map 的應用, 主要用到圖片的 GPS 資訊不外乎緯度, 經度, 高度, 版本.
所以本篇僅說明如何利用 .Net 本身的 Library 從圖檔中取出這些資訊.
不過, 若圖檔本身未包裝這些資訊進去, 程式本身亦不可能讀到.
在說明如何取得這些資訊前, 請記得參考以下資訊:
所以本篇僅說明如何利用 .Net 本身的 Library 從圖檔中取出這些資訊.
不過, 若圖檔本身未包裝這些資訊進去, 程式本身亦不可能讀到.
在說明如何取得這些資訊前, 請記得參考以下資訊:
[C#] 在 .Net 程式中呼叫 Java 的 Web Service
先前測過 Java 中呼叫 .Net 的 Web Service (here), 現在反過來, 在.Net 中呼叫 Java 的 Web Service.
環境說明:
環境說明:
- Java 開發工具: Netbeans 6.5.1
- Java Web Server: Tomcat 6.0.18
- Java Web Service 套件: JAX-WS 2.1
2010/07/28
[C# & Java] .Net 加密 (DESCryptoServiceProvider) VS. Java 解密
前言: 這邊只列出我工作上有遇到的情況, 並未對所有的加解密做很完整的舉例/說明.
不過如果有人能提供其他情況, 我是可以試著去解看看.
情境: 在 .Net 中, 利用 DESCryptoServiceProvider 進行加密. 加密的 Mode 為 ECB, Padding 為 None, Zeros 與 PKCS7.
不過如果有人能提供其他情況, 我是可以試著去解看看.
情境: 在 .Net 中, 利用 DESCryptoServiceProvider 進行加密. 加密的 Mode 為 ECB, Padding 為 None, Zeros 與 PKCS7.
[c#] Regular Expression 抓取/取代特定資料的說明
在網路上常見到一些想用 Regular Expression 取資料的問題.
有些解答看起來很複雜, 實際上只要一個一個 pattern 拆解, 就不難發現道理其實很簡單.
以下的例子將視情況進行補充:
有些解答看起來很複雜, 實際上只要一個一個 pattern 拆解, 就不難發現道理其實很簡單.
以下的例子將視情況進行補充:
[C#] 利用 Regex 查詢 Html/Xml 標籤中的屬性值
作用: 取得 HTML 或 XML 內容中, 某個標籤下所指定的屬性值.
輸入參數:
輸入參數:
- strHtml(string): HTML 或 XML 的內容.
- strTagName(string): 標籤名.
- strAttributeName(string): 屬性名.
[C#] 使用 Regex 將 0123456789 轉成中文
有時在處理數字的顯示時, 會有一種需求是希望將 "第123期" 轉為 "第一二三期", 或是將其轉為 "第壹貳參期".
像這種一對一的轉換, 有一種寫法如下:
像這種一對一的轉換, 有一種寫法如下:
[Java] 在 Java 程式中呼叫 .Net 的 Web Service
開發工具:
- Java: Netbeans6.5 (plugins: Web Services)
- dotNet: Microsoft Visual Studio 2008
- 透過 VS2008 在網站 (Ex: MyTest) 中建立一個名為 HelloWs.asmx 的 Web 服務.
HelloWs.cs 的程式碼如下:
訂閱:
文章 (Atom)