您的位置:首页 > Web前端 > HTML

批改HTML文件的简单程序之经验总结

2012-12-17 12:11 211 查看
自己先前写了一个关于批改HTML文件的简单程序,觉得有必要记录下一些经验和教训:

一、C#中try……catch……finally

try
{
可能抛出异常的语句
}
catch(异常类型)
{
抛出异常时的处理方法,可以分类处理
//if
//else if
//else
}
finally
{
不管抛出异常与否,都会执行的语句
可以将出现异常的结果放在这里判断处理
}
例如:
HtmlNodeCollection titleNodes = null;
HtmlNodeCollection styleNodes = null;
try
{
titleNodes = htmlDoc.DocumentNode.SelectNodes(@"/html/body/*");//获得body的第一个子元素

//获取css样式表设置值
styleNodes = htmlDoc.DocumentNode.SelectNodes(@"/html/head/style");//获得style,css样式设置标签
}
catch(NullReferenceException ex)//出现的情况只可能是css样式表没有
{
if (styleNodes == null)
{
WordInsert(para, "Html文件中没有CSS样式文件!" + ex.ToString());
}
if (titleNodes == null)
{
WordInsert(para, "Html文件中没有文本文件!" + ex.ToString());
}
}
finally
{
Regex titleName = new Regex("h[1-6]");//得到标题是h1,h2……
if (titleNodes == null)
{
WordInsert(para, "插入标题文本不成功");
ExcelInsert(excel, "0", row++, column);

WordInsert(para, "居中对齐设置不正确!");
ExcelInsert(excel, "0", row++, column);

WordInsert(para, "字体黑色设置不正确!");
ExcelInsert(excel, "0", row++, column);

WordInsert(para, "字体大小设置不正确!");
ExcelInsert(excel, "0", row++, column);

WordInsert(para, "字体颜色设置不正确!");
ExcelInsert(excel, "0", row++, column);
}
else
{
……//没有出现异常的执行语句
}
}


还需要注意的是,在try中可能出现NullReferenceException异常的变量,要在try之前声明,否则在后面的catch和finally语句中就不能调用这个变量!

二、从字符串中提取汉字

Regex nameRe = new Regex("[\u4E00-\u9FFF]+");//\u4E00-\u9FFF是包括繁体的汉字,\u4E00-\u9FA5是简体汉字

三、判断一个字符串中是否包含一个子字符串

IndexOf(string)>= 0,表示包含!最好不要用IndexOf(string)!= 0,因为如果子字符串刚好在首部,而判断为不包含!

四、事务逻辑

根本就没有这个选项、有这个选项但是值却是错误的、有这个选项并且值也是正确的!(老是忘记没有这个选项这个逻辑)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: