从网页中获得源代码,其中有形如
src="/xxxx/xxxxxxxxxxx/xxxxx/xxxxxxx/xxxx/xxx/xxxxxxxxxxxxx/xxx/xxxxxxxxxxxxxx.pdf"
这样的一个链接,请问应怎样把""中的部分搜索出来? 

解决方案 »

  1.   

    网页是XML的;可以用MSXML或者TinyXML来分析节点,取得对应节点的值;
    另外你这个也可以搜索关键字符串“src”啊
      

  2.   

    src有很多,我考虑先检索“.pdf”然后往回查找第一个引号“"”,不知道能不能实现,如何实现。
      

  3.   

    如果是XML规范的文件,建议还是用XML解析工具来解析,这样规范一些;
    另外如果你要搜索字符串的话;
    可以先检测src,再以src的位置为起点,检测pdf;如果检测到的pdf位于下一个src之前,基本上就是你要的啦;然后取这两个位置之间的字符串进行处理
      

  4.   


    CString strTemp="src=\"/xxxx/xxxxxxxxxxx/xxxxx/xxxxxxx/xxxx/xxx/xxxxxxxxxxxxx/xxx/xxxxxxxxxxxxxx.pdf\"";
    strTemp = strTemp.Left(strTemp.GetLength() - 1);
    strTemp = strTemp.Right(strTemp.GetLength()  - strTemp.Find('\"') - 1);
    只解析一个串可以这样,数据多的话,还是用大家说的XML库
      

  5.   

    CString PageContent;
    PageContent = a.GetWebPage(str);//这里获得了网页源码
    CString CStart = "src";
    CString CEnd = ".pdf";
    int IEnd = PageContent.Find(CEnd);//断点监视这里正确检测出了.pdf字段的位置
    int IStart;
    for (IStart = PageContent.Find(CStart); IStart < IEnd && IStart != -1 ; IStart = PageContent.Find(CStart,IStart += CStart.GetLength()));
    按照3楼的思路写了下,还是有问题。现在能正常检测出".pdf"字段的位置,在循环里也能正确检测出第一个"src"字段的位置,然后第二次循环Find函数返回值就是-1了。但是实际观测PageContent的内容,一个哦你包含4个"src"字段,为什么只能检测出来第一个呢?