当前位置:  编程技术>.net/c#/asp.net

服务器端C#实现的CSS解析器

    来源: 互联网  发布时间:2014-10-13

    本文导语:  代码如下:using System; using System.Collections; using System.Text; using System.IO; using System.Collections.Specialized; using System.Text.RegularExpressions; using System.Diagnostics; namespace CSS { public class App { public static void Main(string[] args) { //初始化CSS解析器 CssDoc...

代码如下:

using System;
using System.Collections;
using System.Text;
using System.IO;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
using System.Diagnostics;

namespace CSS
{
public class App
{
public static void Main(string[] args)
{
//初始化CSS解析器
CssDocument doc = new CssDocument();
//加载现有CSS文件
doc.Load(Directory.GetCurrentDirectory() + "/test.css");
//修改CSS
doc["body"].Attributes["font-size"] = "12px";
//保存CSS文件
doc.Save(Directory.GetCurrentDirectory() + "/a.css");
Console.Read();
}
}

public class CssParse
{
private string m_source;
private int m_idx;


public static bool IsWhiteSpace(char ch)
{
return( "tnr ".IndexOf(ch) != -1 );
}

public void EatWhiteSpace()
{
while ( !Eof() )
{
if ( !IsWhiteSpace(GetCurrentChar()) )
return;
m_idx++;
}
}

public bool Eof()
{
return(m_idx>=m_source.Length );
}

public string ParseElementName()
{
StringBuilder element = new StringBuilder();
EatWhiteSpace();
while ( !Eof() )
{
if (GetCurrentChar()=='{')
{
m_idx++;
break;
}
element.Append(GetCurrentChar());
m_idx++;
}

EatWhiteSpace();
return element.ToString().Trim();
}

public string ParseAttributeName()
{
StringBuilder attribute = new StringBuilder();
EatWhiteSpace();

while ( !Eof() )
{
if (GetCurrentChar()==':')
{
m_idx++;
break;
}
attribute.Append(GetCurrentChar());
m_idx++;
}

EatWhiteSpace();
return attribute.ToString().Trim();
}

public string ParseAttributeValue()
{
StringBuilder attribute = new StringBuilder();
EatWhiteSpace();
while ( !Eof() )
{
if (GetCurrentChar()==';')
{
m_idx++;
break;
}
attribute.Append(GetCurrentChar());
m_idx++;
}

EatWhiteSpace();
return attribute.ToString().Trim();
}

public char GetCurrentChar()
{
return GetCurrentChar(0);
}

public char GetCurrentChar(int peek)
{
if( (m_idx+peek)

    
 
 

您可能感兴趣的文章:

  • 用C#,asp.net 做的网站,能用Linux做服务器吗?
  • C#列出局域网中可用SQL Server服务器
  • c#判断数据库服务器是否启动
  • c#判断数据库服务器是否已经启动的方法
  • c#分页显示服务器上指定目录下的所有图片示例
  • C#自动设置IE代理服务器(翻墙软件)代码实现
  • C#实现的Socket服务器端、客户端代码分享
  • c# HttpWebRequest通过代理服务器抓取网页内容应用介绍
  • c#批量上传图片到服务器示例分享
  • c#获得目标服务器中所有数据库名、表名、列名的实现代码
  • c# 服务器上传木马监控代码(包含可疑文件)
  • c#多线程网络聊天程序代码分享(服务器端和客户端)
  • c#实现服务器性能监控并发送邮件保存日志
  • C#利用WMI操作DNS服务器(可远程操作,需要相应权限)
  • 配置DNS服务器后,服务器可解析,客户端不能解析。求解
  • 服务器本机能解析域名,其它机子都解析不到,能ping通dns服务器地址,是什么问题?//
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • 我有一个DNS服务器,既要解析自己局域网里IP,有要解析外网上的IP,如www.163.com,我该如何设置呢
  • 关于域名解析cname类型的疑问,服务器上要做什么设置吗?
  • 我的服务器为何不努力解析域名?
  • ◆◆◆自己能不能私自架设解析广域网域名的dns服务器◆◆◆
  • 如何在Unix下配置DNS解析服务器
  • LINUX中--->nslookup 不能解析是为什么? DNS服务器
  • 一台DNS服务器。能不能进行2个域名的内部解析?
  • 好象我的apache服务器不解析我的php程序啊(why)
  • PHP服务器端异步执行方法解析
  • php服务器发送邮件失败问题解析
  • php服务器配置过程解析
  • Android解析服务器端发来的xml数据示例
  • android客户端从服务器端获取json数据并解析的实现代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 怎么样实现由Linux服务器映射访问发布Websphere的win服务器!
  • 我实现了个J2EE技术的服务器,支持TCP、UDP和数据库,由于性能的原因,需要改为C或C++实现,我是C、C++新手,我该如何入手呢?看什么样的
  • 用expect实现ssh自动登录服务器并进行批量管理的实现方法
  • 如保实现多台服务器同时开关机?
  • 我有两台linux 服务器,如果让他们实现负载均衡?
  • linux服务器之间如何实现时间同步?
  • 求推荐Linux下利用epoll实现大规模并发服务器架构设计与实现方面的论文or书籍。
  • 请教:两服务器之间的HTTP请求(非RMI实现)
  • linux下FTP服务器与客户端的C语言实现
  • 如何实现linux邮件服务器上邮件的备份?
  • Radius 服务器实现 XTRadius
  • 实现 Pusher 协议的开源服务器 Slanger
  • 请问如何在两个web服务器之间实现通信?
  • 不让用户选择文件,程序指定本地文件,Java可以实现上传到服务器吗?
  • 怎样在JAVA里实现获取指定服务器上所有可用数据库的列表??
  • 怎样实现从服务器发串字符到客户端
  • 如何实现Unix/linux服务器之间文件的相互共享?
  • Socket.IO服务器端实现 socketio-netty
  • 一台服务器如何用双网卡实现双线?
  • 虚拟机下安装了linux,要做代理服务器,是否无法实现啊
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • nginx 服务器介绍
  • 校园网,www服务器,邮件服务器,数据库服务器等各用什么平台(系统)性能最佳?
  • 代理服务器原理,功能及作用详细介绍
  • 双linux服务器如何能在一台服务器崩溃的情况下在另一台服务器上启动相应服务
  • Apache HTTP服务器2.4中的新功能概览
  • 如何有效判断服务器已经连接不上(服务器关闭,服务器非法退出等原因)
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • 在服务器端怎样检测客户端与服务器端的某个会话在一段时间里面没有通信,然后在服务器端终止该会话??
  • nginx服务器基本特性及使用技巧




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3