Q: 讀入一個字串,如何取出節點的值?
A:
Dim xmltext As New System.Text.StringBuilder
Dim strReader As StringReader = New StringReader(mXml)
Dim reader As XmlTextReader = New XmlTextReader(strReader)
Dim docNav As New XPathDocument(reader)
Dim objxPath As XPathNavigator = docNav.CreateNavigator
Dim objNode As XPathNavigator = objxPath.SelectSingleNode("/")
Return objNode.Value
2011年12月26日 星期一
XML 解析
2011年6月13日 星期一
DataSet Tips
DataSet 是一個儲存在記憶體內的資料庫,它擁有很多類似資料庫的操作功能,例如:
1. 兩表合併(Merge Table)
Table1.Merge(Table2, False)
有時候,這個方法會因為資料結構造成失敗,此時可改用DataRelation,將兩個Table Join。
Dim mDataRelation As New DataRelation("TempJoin", Table2Columns, Table1Columns, False)
ds.Relations.Add(mDataRelation)
' jj 是Table2填入Table1的起始欄位
For Each mRow As DataRow In Table1.Rows
For ii = jj To Table2.Columns.Count - 1
mRow(jj+ii) = mRow.GetParentRow("TempJoin")(ii)
Next
Next
2. 排序(Sort)
Table1.DefaultView.Sort(Field1)
For i = 0 To Table1.DefaultView.Count - 1
aa=Table1.DefaultView(i).Item("Field2")
next
3. 篩選(Filter)
Dim rows As DataRow() = dtTopicid.Select("Field1='aaa'")
4. 衍生欄位(Derived Field)
Dim col As DataColumn
col = dt.Columns.Add("ExpCol", GetType(Boolean), expr)
另外,還有一些小技巧,與大家分享:
1. 欄位值大小寫有區別(Case Sensitive)
Table1.CaseSensitive = True
2. 設定額外屬性(Custom Property)
column.ExtendedProperties.Add("TimeStamp", DateTime.Now)
3. 取唯一值(Unique Values)
Dim dtDistinct As DataTable = Table1.DefaultView.ToTable("Table1", True, "Field1")
2011年4月13日 星期三
2011年1月25日 星期二
VS 安裝專案的注意事項
產生安裝專案時有兩件事,設定常常找不到:
- 要在桌面產生一個捷徑
- 要使用.net framework 2.0
在桌面產生一個捷徑
不能在【使用者的桌面】按滑鼠右鍵增加一捷徑,這樣會使捷徑指到執行檔所在目錄,而非執行檔本身;必須在【應用程式資料夾】的【主要輸出】按滑鼠右鍵增加一捷徑,再將該捷徑拖曳到【使用者的桌面】。
要使用.net framework 2.0
除了執行檔專案建置要設成.net framework 2.0外,在安裝專案的Mocrosoft .net Framework項目,須Double Click後,設定.net framework 2.0,如下圖。