//strHtml   : html源代码;
//TagName   : 节点名称
//AttrName  : 节点属性名称
//AttrValue : 节点属性值
//outItems  : 匹配节点输出, 每行一个匹配节点
procedure xQuery(strHtml, TagName, AttrName, AttrValue: string; outItems: TStringList);比如html代码如下, 现在要取得TagName=div, AttrName=id, AttrValue=content1节点(就是<div id="content1">...</div>)的源代码, 该如何实现?另外如果参数AttrName或者AttrValue为空, 则表示匹配所有!谢谢!<body>
 <div id="content1">
   <div>
   
   </div>
   
   <div>
   
   </div>
   
   <div>
   
   </div>
 </div>
 
 <div id="content2">
   <div>
   
   </div>
   
   <div>
   
   </div>
   
   <div>
   
   </div>
 </div></body>

解决方案 »

  1.   

    html的代码如果不标准,IE上也能显示.比如:可能有的标签有前面的部分:<...>,却没有后面的</...>如果是比较规范的html代码,你看能不能用XML来解析它.如果可以的话,就直接可以find里面的node了.但是,还有个问题,对于成对出现的标签,<tagname attribname="">......</tagname>这样的还好.
    有些标签,比如<image src="a.gif"> 它后面不是以"/>"结尾的,即这样的形式: <image src="a.gif"/>,
    不知道xml是否支持,没试过.
      

  2.   


    支持的,我觉得可以用我觉得最好把这段源码用webbrowser1,Ihtmldocument2来分析
      

  3.   

    xml控件应该可以完成这个功能