标记数据分析

最近由于工作上的需要,我要分析网页中的html标记元素,对其中的文本进行操作。虽然有这样的组件,但是我还是选择了自己写代码,来尝试一下。最开始还好,后面发现这条路越走越难。

第一个问题是我该如何分析出一个元素的开始。例如<font  size="4"  >;开始我想用正则表达式,后来发现这个表达式并不简单。这样的表达式如:<font.*>;这是一个失败的表达式,它会匹配出<font开始,直到最后一个>之间的所有数据。当我走到这里时,我发现一切都没有我们所想象的那么简单。

----------------------------------------------------------10.11
今天在路上突然想到一个解决方法:逐个地读取字符,然后用一个变量讲读到的字符收集起来,再用正则表达式来分析,直到分析到有效的标记元素为止。
代码为:
string ParseString = "....<font size="4">...";

private void ParseFlag(string ParseString)
{
string cache;

StringReader sr = new StringReader(ParseString);
int code = sr.Read();
int index= 0;
while(code >=0)
{
    cache += Convert.ToChar(code);
    Match matchObj = RegEx.Match(cache, "<font.*>");//用正则表达式<font.*>来匹配查找
    if(!string.IsNullOrEmpty(matchObj.Value))
    {
       ParseFlag(ParseString.SubString(index);//递归调用
       break;
    }
    index ++;
}
}
以上的代码不完整,至少我现在觉得它的执行效率很低,但是我又不知道其它的那些工具是怎么分析类似于xml数据的。还需要继续思考呀。不知道是否还有人象我一样,对分析数据感兴趣呀。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明天好,会的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值