<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_流云之心</title><subtitle type="text">桐丘人氏，好读书，然不求甚解。蹉跎终日，至无所成。思之，悲呼</subtitle><id>http://feed.cnblogs.com/blog/u/2861/rss</id><updated>2011-08-22T23:21:33Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/2861/rss"/><entry><id>http://www.cnblogs.com/lyrix/archive/2011/08/21/2147807.html</id><title type="text">SQL Server中对XML操作</title><summary type="text">博客园的账号密码忘了，先放这儿吧 1. 检查XML中节点是否存在 SELECT xmlContent.exist('/Samples/Sample'), * FROM xmlTable WHERE xmlContent.exist('/Samples/Sample') = 1 SELECT xmlContent.exist('/Samples//Name'), * FROM xmlTable WHERE xmlContent.exist('/Samples//Name') = 1 2. 检查节点值是否存在 SELECT TOP 1</summary><published>2011-08-21T06:13:00Z</published><updated>2011-08-21T06:13:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2011/08/21/2147807.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2011/08/21/2147807.html"/><content type="html">&lt;div&gt;博客园的账号密码忘了，先放这儿吧&lt;br /&gt; &lt;br /&gt; 1.&amp;nbsp;&amp;nbsp; &amp;nbsp;检查XML中节点是否存在&lt;br /&gt; SELECT xmlContent.exist('/Samples/Sample'),&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;* FROM xmlTable&lt;br /&gt; WHERE &lt;span style="font-weight: bold;"&gt;xmlContent.exist('/Samples/Sample') = 1&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; SELECT xmlContent.exist('/Samples//Name'),&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;* FROM xmlTable&lt;br /&gt; WHERE &lt;span style="font-weight: bold;"&gt;xmlContent.exist('/Samples//Name') = 1&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 2.&amp;nbsp;&amp;nbsp; &amp;nbsp;检查节点值是否存在&lt;br /&gt; SELECT TOP 100 &amp;nbsp;&amp;nbsp; * &lt;br /&gt; FROM&amp;nbsp; xmlTable &lt;br /&gt; WHERE &lt;span style="font-weight: bold;"&gt;xmlContent.exist('/Samples/Sample[Value=1]') = 1&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; 3.&amp;nbsp;&amp;nbsp; &amp;nbsp;获取XML某个节点的内容 (类似DOM的OutterXML)&lt;br /&gt; SELECT TOP 100&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;xmlContent.query('/Samples/Sample/Name')&lt;/span&gt;, &lt;br /&gt; &amp;nbsp;&amp;nbsp; * &lt;br /&gt; FROM&amp;nbsp; xmlTable &lt;br /&gt; &lt;br /&gt; 4.&amp;nbsp;&amp;nbsp; &amp;nbsp;获取指定XML块的内容 (类似DOM的innerText)&lt;br /&gt; SELECT TOP 100&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold;"&gt;xmlContent.value('(/Samples/Sample/Name)[1]', 'varchar(100)')&lt;/span&gt;, &lt;br /&gt; &amp;nbsp;&amp;nbsp; * &lt;br /&gt; FROM&amp;nbsp; xmlTable &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; 附：做测试用的数据表和数据的生成SQL&lt;br /&gt; -- 创建测试表&lt;br /&gt; CREATE TABLE [xmlTable](&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;[xmlId] [int] IDENTITY(1,1) NOT NULL,&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;[xmlName] [varchar](50) NOT NULL,&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;[xmlContent] [xml] NOT NULL,&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;[xmlDescr] [varchar](2000) NULL&lt;br /&gt; )&lt;br /&gt; &lt;br /&gt; -- 初始化数据&lt;br /&gt; -- truncate table xmlTable&lt;br /&gt; DECLARE @iRow int,&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;@xmlContent xml,&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;@xmlName varchar(50),&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;@xmlId int&lt;br /&gt; &lt;br /&gt; SET @iRow = 0&lt;br /&gt; SELECT @xmlId = max(xmlid) from xmlTable&lt;br /&gt; &lt;br /&gt; if(@xmlId is null)&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;SET @xmlId = @iRow + 1&lt;br /&gt; &lt;br /&gt; While @iRow &amp;lt; 5&lt;br /&gt; BEGIN&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;SET @xmlName = 'Sample' + Convert(varchar(10), @xmlId + @iRow)&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;SET @xmlContent = '&amp;lt;Samples&amp;gt;&amp;lt;Sample&amp;gt;&amp;lt;Name&amp;gt;' +  @xmlName+ '&amp;lt;/Name&amp;gt;&amp;lt;Value&amp;gt;'+ CONVERT(varchar(20), @xmlId +  @iRow) &lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;+ '&amp;lt;/Value&amp;gt;&amp;lt;/Sample&amp;gt;&amp;lt;/Samples&amp;gt;'&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;INSERT INTO [xmlTable]&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ([xmlName]&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[xmlContent]&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,[xmlDescr]&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUES&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (@xmlName&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,@xmlContent&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --,&amp;lt;xmlDescr, varchar(2000),&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SET @iRow = @iRow + 1&lt;br /&gt; END&lt;br /&gt; &lt;br /&gt; &lt;/div&gt;&lt;img src="http://www.cnblogs.com/lyrix/aggbug/2147807.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyrix/archive/2011/08/21/2147807.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2010/06/27/1766376.html</id><title type="text">开发常用小工具介绍</title><summary type="text">在开发中有很多小工具能够很高效的提高效率，感觉做开发的人员都会或多或少用到这些工具，这里就算抛砖引玉，看看大家是不是还有其他更好用的小工具 :)1. 微软 SysinternalsSuite 系列工具这套软件可以从technet直接下载，地址为http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx。 开发人员常用的工具有以下几...</summary><published>2010-06-27T15:09:00Z</published><updated>2010-06-27T15:09:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2010/06/27/1766376.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2010/06/27/1766376.html"/><content type="html">&lt;p&gt;在开发中有很多小工具能够很高效的提高效率，感觉做开发的人员都会或多或少用到这些工具，这里就算抛砖引玉，看看大家是不是还有其他更好用的小工具 :)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1. 微软 SysinternalsSuite 系列工具&lt;/p&gt;&lt;p&gt;这套软件可以从technet直接下载，地址为&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx" target="_blank"&gt;http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx&lt;/a&gt;。 开发人员常用的工具有以下几种&lt;/p&gt;&lt;p&gt;　 a. DbgView.exe&lt;/p&gt;&lt;p&gt;Debug Viewer 用来查看代码中trace信息。当然比不上windbg功能强大，但是在开发中基本上都是够用了。倒是性能调优的时候还是windbg比较有效&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. procexp.exe&lt;/p&gt;&lt;p&gt;Process Explorer，可以看做任务管理器的升级版，可以找出进程打开了哪些文件、注册表项和其他对象以及已加载哪些 DLL 等信息&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.procmon.exe &lt;/p&gt;&lt;p&gt;Process Monitor 实时监视文件系统、注册表、进程、线程和 DLL 活动&lt;/p&gt;&lt;p&gt;d. TCPView.exe&lt;/p&gt;&lt;p&gt;TCP Viewer, 查看TCP端口&lt;br /&gt;&lt;/p&gt;&lt;p&gt;另外提一个好玩的小东西，BlueScreen.exe,&amp;nbsp; 是个屏幕保护程序，不仅精确模拟&amp;#8220;蓝屏&amp;#8221;，而且也模拟重新启动，包括进行磁盘检查等动作，可以用来吓唬老板同事 :)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2. IETester&lt;/p&gt;&lt;p&gt;针对国内用户存在大量使用IE的现状，可以通过IETester模拟各种IE版本查看效果&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;3. IE Developer 【IE8中已经包括进来】&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 用来调整CSS, JS的好工具，可以直接在客户端更改后查看效果&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;4. Firebug [Firefox]&lt;/p&gt;&lt;p&gt;功能基本上同IE Developer, 只不过针对Firefox。可以利用它除错、编辑、甚至删改任何网站的 CSS、HTML、DOM、与 JavaScript 代码， &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5. HttpWatch&lt;/p&gt;&lt;p&gt;跟踪客户端发出的Request和接受的Response的好工具，可以通过这个工具发现客户端究竟发出了那些请求，并可以看到Cookie，Header里面的相关信息&lt;/p&gt;&lt;p&gt;6. Fridler&lt;/p&gt;&lt;p&gt;功能基本上和HttpWatch一致，针对.net平台，好处是免费的&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lyrix/aggbug/1766376.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lyrix/archive/2010/06/27/1766376.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2010/02/01/1660946.html</id><title type="text">设计模式一 - Simple Factory, Factory Method, Abstract Factory以及Builder模式简述</title><summary type="text">虽然现在博客园上关于设计模式的文章已经有很多，但还是写一篇来凑下热闹，也算是对自己多这几种模式得使用总结。Factory Pattern 工厂模式和 Builder Patter 建造者模式都是通过定义接口来将类的定义和实现区分开来。下面一步一步来做说明1. Simple Factory 简单工厂简单工厂只是将类简单抽象化，以Pizza为例，我们定义好Pizza的接口，实现继承Pizza的类Piz...</summary><published>2010-02-01T05:25:00Z</published><updated>2010-02-01T05:25:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2010/02/01/1660946.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2010/02/01/1660946.html"/><content type="text">虽然现在博客园上关于设计模式的文章已经有很多，但还是写一篇来凑下热闹，也算是对自己多这几种模式得使用总结。Factory Pattern 工厂模式和 Builder Patter 建造者模式都是通过定义接口来将类的定义和实现区分开来。下面一步一步来做说明1. Simple Factory 简单工厂简单工厂只是将类简单抽象化，以Pizza为例，我们定义好Pizza的接口，实现继承Pizza的类Piz...</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2009/12/17/1626662.html</id><title type="text">强制休息程序 - EyeGuardian 眼睛守护者 Beta测试版</title><summary type="text">最近在空余时间随手写的一个小程序，欢迎大家试用，有什么意见建议请留言。版本更新：增加多语言支持增加对全屏事件检测，在全屏玩游戏，看电影的时候不在计时 没有做安装程序，下载Bin包直接解压即可用。程序和源代码下载http://eyeguardian.sourceforge.net/</summary><published>2009-12-17T12:44:00Z</published><updated>2009-12-17T12:44:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2009/12/17/1626662.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2009/12/17/1626662.html"/><content type="text">最近在空余时间随手写的一个小程序，欢迎大家试用，有什么意见建议请留言。版本更新：增加多语言支持增加对全屏事件检测，在全屏玩游戏，看电影的时候不在计时 没有做安装程序，下载Bin包直接解压即可用。程序和源代码下载http://eyeguardian.sourceforge.net/</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2007/12/20/1007527.html</id><title type="text">定时计划任务方案比较以及通过脚本创建计划任务(SchTasks命令)</title><summary type="text">介绍计划任务方案的比较；通过windows命令SchTasks配置计划任务的介绍</summary><published>2007-12-20T08:18:00Z</published><updated>2007-12-20T08:18:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2007/12/20/1007527.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2007/12/20/1007527.html"/><content type="text">介绍计划任务方案的比较；通过windows命令SchTasks配置计划任务的介绍</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2007/12/06/985309.html</id><title type="text">javascript 将页面上的Table导出保存为Excel (无格式)</title><summary type="text">接受参数：Table的 IDfunctiontableToExcel(tblName){functionString.prototype.Trim(){returnthis.replace(/(^\s*)|(\s*$)/g,"");}try{vare=document.getElementById(tblName);vars=""for(varj=0;j&lt;e.rows.length;j++)...</summary><published>2007-12-06T06:43:00Z</published><updated>2007-12-06T06:43:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2007/12/06/985309.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2007/12/06/985309.html"/><content type="text">接受参数：Table的 IDfunctiontableToExcel(tblName){functionString.prototype.Trim(){returnthis.replace(/(^\s*)|(\s*$)/g,"");}try{vare=document.getElementById(tblName);vars=""for(varj=0;j&lt;e.rows.length;j++)...</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2007/12/05/976015.html</id><title type="text">Excel Programming (C# + VBA) Part III</title><summary type="text">Step 6 Import the data in excel to databasea. Create excel app object and open the uploaded fileMicrosoft.Office.Interop.Excel.ApplicationxlsApp=newApplicationClass();Workbookwb=xlsApp.Workbooks.Open(...</summary><published>2007-12-05T14:17:00Z</published><updated>2007-12-05T14:17:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2007/12/05/976015.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2007/12/05/976015.html"/><content type="text">Step 6 Import the data in excel to databasea. Create excel app object and open the uploaded fileMicrosoft.Office.Interop.Excel.ApplicationxlsApp=newApplicationClass();Workbookwb=xlsApp.Workbooks.Open(...</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2007/12/04/976009.html</id><title type="text">Excel Programming (C# + VBA) Part II</title><summary type="text">2. Step 2 Generate an Excel template to fill with source data in C#a. Create excel application objectMicrosoft.Office.Interop.Excel.ApplicationxlsApp=null;Workbookwb=null;b. Open the template and Save...</summary><published>2007-12-04T15:02:00Z</published><updated>2007-12-04T15:02:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2007/12/04/976009.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2007/12/04/976009.html"/><content type="text">2. Step 2 Generate an Excel template to fill with source data in C#a. Create excel application objectMicrosoft.Office.Interop.Excel.ApplicationxlsApp=null;Workbookwb=null;b. Open the template and Save...</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2007/12/03/973366.html</id><title type="text">Excel programming (C# + VBA) Part 1</title><summary type="text">Excel programming (C# + VBA)Here is the secario of a full process of solution to use excel to submit information. Clarify the requirement and create the Excel template (VBA) Generate an Excel template...</summary><published>2007-12-03T12:00:00Z</published><updated>2007-12-03T12:00:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2007/12/03/973366.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2007/12/03/973366.html"/><content type="text">Excel programming (C# + VBA)Here is the secario of a full process of solution to use excel to submit information. Clarify the requirement and create the Excel template (VBA) Generate an Excel template...</content></entry><entry><id>http://www.cnblogs.com/lyrix/archive/2005/07/19/196099.html</id><title type="text">Harry Potter - The Half-Blood Prince</title><summary type="text">The ebook(doc) download</summary><published>2005-07-19T12:28:00Z</published><updated>2005-07-19T12:28:00Z</updated><author><name>流云之心</name><uri>http://www.cnblogs.com/lyrix/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lyrix/archive/2005/07/19/196099.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lyrix/archive/2005/07/19/196099.html"/><content type="text">The ebook(doc) download</content></entry></feed>
