当前位置: 首页 > news >正文

网站开发流程可规划为那三个阶段服务器可以吧网站做跳转吗

网站开发流程可规划为那三个阶段,服务器可以吧网站做跳转吗,wordpress中文变英文,紧急大通知请记住新域名一、前言 紧跟着上一篇随笔#xff0c;本文主要涉及到如何将xml与xsl动态转换成html#xff0c;这个才是最关键的地方#xff0c;所有的内容都是围绕这个主题来进行开展的。根据指定的xsl样式将ListT转换相应的Html#xff0c;相关的随笔如下#xff1a; #xf…一、前言 紧跟着上一篇随笔本文主要涉及到如何将xml与xsl动态转换成html这个才是最关键的地方所有的内容都是围绕这个主题来进行开展的。根据指定的xsl样式将ListT转换相应的Html相关的随笔如下 一、将ListT转换成DataTable。 二、将Xml与Xsl动态转换成Html。 三、设置以及控制Xsl的内容样式。   二、XslTransform的具体实现 XslTransform主要的职责为将xml与xsl动态转换成html。其中XslCompiledTransform 提供了很多方法可以进行相关的转换但使用起来并不是十分方便因此必须在该基础上来对目前的类进行相关封装以及提取。具体的代码如下  1     public class XslTransform : IDisposable 2     { 3         public StringWriter StringWriter 4         { 5             get; 6             private set; 7         } 8  9         public StringReader XmlStringReader10         {11             get;12             private set;13         }14 15         public StringReader XslStringReader16         {17             get;18             private set;19         }20 21         public XslTransform()22         {23             this.StringWriter  new StringWriter();24         }25 26         public string Transfer(string xmlText, string xslText)27         {28             if (string.IsNullOrWhiteSpace(xmlText)29                 || string.IsNullOrWhiteSpace(xslText))30             {31                 return string.Empty;32             }33             this.XmlStringReader  new StringReader(xmlText);34             this.XslStringReader  new StringReader(xslText);35 36             return TransferXmlAndXslToHtml();37         }38 39         private string TransferXmlAndXslToHtml()40         {41             try42             {43                 using (XmlTextWriter writer  new XmlTextWriter(this.StringWriter))44                 {45                     return ToHtml(writer);46                 }47             }48             catch49             {50                 return string.Empty;51             }52         }53 54         private string ToHtml(XmlTextWriter writer)55         {56             XslCompiledTransform xslTransform  new XslCompiledTransform();57             xslTransform.Load(XmlReader.Create(this.XslStringReader));58             xslTransform.Transform(XmlReader.Create(this.XmlStringReader), writer);59             60             return this.StringWriter.ToString();61         }62 63         #region IDisposable 成员64 65         public void Dispose()66         {67             this.Dispose(true);68             GC.SuppressFinalize(this);69         }70 71         private void Dispose(bool disposing) 72         {73             if (this.StringWriter ! null)74             {75                 this.StringWriter.Dispose();76             }77             if (this.XslStringReader ! null)78             {79                 this.XslStringReader.Dispose();80             }81             if (this.XmlStringReader ! null)82             {83                 this.XmlStringReader.Dispose();84             }85         }86 87         #endregion88     }    XslTransform 类主要的方法为54-61行的代码如下所示 54         private string ToHtml(XmlTextWriter writer)55         {56             XslCompiledTransform xslTransform  new XslCompiledTransform();57             xslTransform.Load(XmlReader.Create(this.XslStringReader));58             xslTransform.Transform(XmlReader.Create(this.XmlStringReader), writer);59             60             return this.StringWriter.ToString();61         } 第57行加载XSL的样式文本58行在原有基础上将XML转换成XmlTextWriter对象。其中XmlTextWriter在初始化时StringWriter对象作为参数传递进去如以下的43行代码 43                 using (XmlTextWriter writer  new XmlTextWriter(this.StringWriter)) 因此直接返回this.StringWriter.ToString();就获取到了我们所需的Html了。   其次XslTransform 类还有一个注意的要点实现IDisposable接口主要是将用到的资源及时释放掉避免造成其他影响。 三、Xsl文件的设置以及添加到资源文件中  1创建MapperInfoXslContent.xslt样式文件内容如下目前使用最简单的不做任何处理的样式文件 View Code ?xml version1.0 encodingutf-8?xsl:stylesheet version1.0 xmlns:xslhttp://www.w3.org/1999/XSL/Transform  xsl:template match/     html      head        titledemo/title      /head      body        table          tr            td              table border1px bordercolor#000000 cellspacing0px styleborder-collapse:collapse                tr bgcolor#9acd32                  th width80Name/th                  th width80Value/th                  th width80Percent/th                  th width230CreatedTime/th                  th width60IsActive/th                  th width190TargerUrl/th                /tr                xsl:for-each selectDataSet/MapperInfo                  tr                    td bgcolor#ff00ff width80                      xsl:value-of selectName/                    /td                    td width80                      xsl:value-of selectValue/                    /td                    td bgcolor#ff00ff width80                      xsl:value-of selectPercent/                    /td                    td width230                      xsl:value-of selectCreatedTime/                    /td                    td bgcolor#ff00ff width60                      xsl:value-of selectIsActive/                    /td                    td width190                      xsl:value-of selectTargetUrl/                    /td                  /tr                /xsl:for-each              /table            /td          /tr        /table      /body    /html  /xsl:template/xsl:stylesheet     2然后再创建XslResource.resx资源文件将MapperInfoXslContent.xslt样式文件添加到XslResource.resx资源文件中如下图所示   四、转换后的效果  经过转换后得到的Html显示效果如下测试过程中可以以HTML格式来查看字符串   五、相关的单元测试  示例的单元测试代码如下仅做了一些最基础的测试验证内容是否存在 View Code         [TestMethod()]        public void TransferTest()        {            string xmlText  GetXmlText();            string xslText  XslResource.MapperInfoXslContent;            string htmlContent  string.Empty;            using (XslTransform xslTransform  new XslTransform())            {                htmlContent  xslTransform.Transfer(xmlText, xslText);            }            Assert.IsTrue(!string.IsNullOrWhiteSpace(htmlContent));            Assert.IsTrue(htmlContent.Contains(true));            Assert.IsTrue(htmlContent.Contains(false));                        for (int index  0; index  3; index)            {                Assert.IsTrue(htmlContent.Contains(                    string.Concat(MapperInfoIndex, index.ToString())));                Assert.IsTrue(htmlContent.Contains(                    string.Format(www.codeplex.com?Id{0}, index)));                Assert.IsTrue(htmlContent.Contains(index.ToString()));            }                  }        private string GetXmlText()        {            ListMapperInfo entities  CreateMapperInfos(3);            DataTable dataTable  EntityMapper.ToDataTableMapperInfo(entities);            DataSet dataSet  new DataSet(DataSet);            dataSet.Tables.Add(dataTable);            return dataSet.GetXml();        }        private ListMapperInfo CreateMapperInfos(int count)        {            ListMapperInfo entities  new ListMapperInfo();            for (int index  0; index  count; index)            {                entities.Add(new MapperInfo()                {                    Name  string.Concat(MapperInfoIndex, index.ToString()),                    IsActive  (index % 2  0 ? true : false),                    CreatedTime  DateTime.Now,                    Value  index,                    Percent  GetPercent(index),                    TargetUrl  string.Format(www.codeplex.com?Id{0}, index)                });            }            return entities;        }        private decimal? GetPercent(int index)        {            if (index % 2  0)            {                return index;            }            return null;        }   六、总结 上面涉及的仅仅是其中的一种代码应该是比较精简的。还有另外一种采用XPathNavigator的也就是笛子说的“如果使用 XmlWriter 或 XmlDocument则可以避开这个问题。另外XslCompiledTransform.Transform 方法重载了几个版本中如果我没记错的话最应优先使用的是xml数据源为 XPathNavigator 的版本。”。关于这种情况可以通过XmlDocument来创建相关的XPathNavigator对象即XPathNavigator navigator XmlDocument.DocumentElement.CreateNavigator()这种版本的我也重写了一份但是好像没有转换成功因此就采用这种模式了。下一篇主要涉及到XSL样式的设计以及相关的函数、模板的应用。转载于:https://www.cnblogs.com/aaa6818162/archive/2011/05/27/2060134.html
http://www.pierceye.com/news/374105/

相关文章:

  • 长沙网站设计工作室wordpress手机分享插件下载地址
  • 网站开发用什么图片格式最好网站数据库搬家
  • 宜宾建设网站企业所得税税负率
  • 广州网站二级等保上海企业网站模板
  • 做任务赚话费的网站网站直播间 是怎么做的
  • 合肥住房城乡建设部的网站传媒公司是干嘛的
  • 网站建设公司盈利深圳保障性住房在哪里申请
  • 网站建设(信科网络)谷歌推广怎么开户
  • 活动策划网站有哪些温州网页设计美工
  • 网站描述代码怎么写做正规小说网站
  • 无锡外贸网站制作公司php网站开发薪资 深圳
  • 做卡盟网站赚钱吗为企业制定网络营销方案
  • lol视频网站模板网站定制案例
  • 海兴县网站建设郑州嵌入式培训机构
  • 网站建设怎么记账韩国 电商网站
  • 公司介绍网站怎么做的网站建设的广告语
  • 茂名网站建设托管阿里云 wordpress主机名
  • 投票活动网站怎么做郑州营销型网站制作教程
  • 如何做一个导航网站凡科建设网站怎么保存
  • 哪个网站能叫我做直播回放广州十大猎头公司排名
  • 四川网站建设那家好百度爱采购竞价
  • 怎么做提卡密网站万游wordpress 验证
  • 威宁住房和城乡建设局网站网站介绍怎么写
  • 百度站长平台快速收录wordpress hook机制
  • 衡水提供网站设计公司哪家专业网站维护简单吗
  • 域名购买后 怎么创建网站网站内部优化是什么
  • 做微信公众号第三网站整站外包优化公司
  • 济南协会网站设计团队网站后台建设编辑器
  • 行业查询网站拖式网站建设
  • 网站设计文献网站开发与维护岗位说明书