HtmlAgilityPack编程 - 替换样式(style)的值


HtmlAgilityPack编程 - 替换样式(style)的值

HtmlAgilityPack编程 - 替换样式(style)的值

C# 全选
        /// <summary>
        /// 替换样式(style)的值
        /// </summary>
        /// <param name="doc">HtmlDocument对象</param>
        /// <param name="elementName">元素标记,img/p/div</param>
        /// <param name="styleName">样式名称,font-size,display</param>
        /// <param name="value"></param>
        protected void DoReplaceStyle(HtmlAgilityPack.HtmlDocument doc, string elementName, string styleName, string value)
        {
            var list = doc.DocumentNode.SelectNodes("//" + elementName);//img/p/div

            if (list != null && list.Count > 0)
            {
                styleName = styleName + ":";//样式标识添加冒号,font-size:

                foreach (HtmlNode node in list)
                {
                    var styles = node.GetAttributeValue("style", "");//获取样式

                    //获取数组;分开
                    var ss = styles.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);

                    //组合新样式
                    StringBuilder sb = new StringBuilder();
                    foreach (var s in ss)
                    {
                        if (s.Replace(" ", "").ToLower().Contains(styleName.ToLower()))
                            sb.Append(styleName + value + ";");
                        else
                            sb.Append(s + ";");
                    }

                    //设置新样式
                    if (sb.Length > 0)
                        node.SetAttributeValue("style", sb.ToString());
                }
            }
        }
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:HtmlAgilityPack编程 - 使用DocumentNode.InnerText去除HTML标签
下一篇:C#按指定字节长度截取字符串(每个汉字长度2字节)
评论列表

发表评论

评论内容
昵称:
关联文章

HtmlAgilityPack编程 - 替换样式(style)
HtmlAgilityPack编程 - HtmlDocument删除html样式
HtmlAgilityPack编程 - 使用DocumentNode.InnerText去除HTML标签
OOP:面向对象编程
C#正则表达式替换SQL单引号中间空格
VS2015打开网站提示未安装StyleVisual Studio语言支持
C#串口通信编程
C/S框架创建Ribbon样式模块功能按钮展示区(RibbonModuleLoader类)
TreeList显示[+] [-] 线条样式
使用HtmlAgilityPack.HtmlDocument彻底清除HTML标签
C#异步编程(多线程)
C#正则表达式查找或替换指定字符串(标识)范围内容
C#用ListView实现XP分组样式(图)
设置主窗体主菜单、工具栏按钮及左侧模块导航菜单字体样式
设置表格控件布局样式|定制新增插入删除按钮|NavigatorCustomButton属性
C#.Net与SQLServer时间范围最小最大
在文本框输入,不离开焦点保存还是原来
EditValueChanged事件,给另外文本框赋值,为什么事件本身赋不
取消UpdateTotalAmount方法及改变编程方式
Dev表格RepositoryItemLookUpEdit组件改变时设置其它列-原创