跳过<!DOCTYPE HTML>与htmlAgilityPack

跳过<!DOCTYPE HTML>与htmlAgilityPack

问题描述:

我在做一个应用程序为WP 8.1,我必须分析这样的页面:跳过<!DOCTYPE HTML>与htmlAgilityPack

<!DOCTYPE html> 
<html> 
<body> 
    <table cellspacing="0" cellpadding="0" border="0" style="border-style:none; padding:0; margin:0;" id="ctl00_ContentPlaceHolder1_ListView1_groupPlaceholderContainer">    
     <tbody> 
      <tr style="border-style:none;padding:0; margin:0; background-image:none; vertical-align:top;" id="ctl00_ContentPlaceHolder1_ListView1_ctrl0_itemPlaceholderContainer">   
       <td style="border-style:none;padding:0; margin:0; width:22%;" id="ctl00_ContentPlaceHolder1_ListView1_ctrl0_ctl01_Td3"> 
        <div class="photo"> 
         <a target="_self" title="PH1" href="fumetto.aspx?Fumetto=279277">PH1_1</a> 
        </div> 
       </td> 
      </tr> 
      <tr style="border-style:none;padding:0; margin:0; background-image:none; vertical-align:top;" id="ctl00_ContentPlaceHolder1_ListView1_ctrl0_itemPlaceholderContainer">   
       <td style="border-style:none;padding:0; margin:0; width:22%;" id="ctl00_ContentPlaceHolder1_ListView1_ctrl0_ctl01_Td3"> 
        <div class="photo"> 
         <a target="_self" title="PH2" href="fumetto.aspx?Fumetto=279277">PH2_1</a> 
        </div> 
       </td> 
      </tr> 
      <tr style="border-style:none;padding:0; margin:0; background-image:none; vertical-align:top;" id="ctl00_ContentPlaceHolder1_ListView1_ctrl0_itemPlaceholderContainer">   
       <td style="border-style:none;padding:0; margin:0; width:22%;" id="ctl00_ContentPlaceHolder1_ListView1_ctrl0_ctl01_Td3"> 
        <div class="photo"> 
         <a target="_self" title="PH3" href="fumetto.aspx?Fumetto=279277">PH3_1</a> 
        </div> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</body> 
</html> 

当我使用此代码,我总是第一个节点( doctype一)在htmlDoc.DocumentNode里面,我失去了html节点。有没有办法跳过doctype节点?

string filePath = "..."; 
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); 
htmlDoc.OptionFixNestedTags = true; 
htmlDoc.LoadHtml(filePath); 

String html = "<!DOCTYPE html><html><body><table cellspacing='0' cellpadding='0' border='0' style='border-style:none; padding:0; margin:0;' id='ctl00_ContentPlaceHolder1_ListView1_groupPlaceholderContainer'><tbody><tr style='border-style:none;padding:0; margin:0; background-image:none; vertical-align:top;' id='ctl00_ContentPlaceHolder1_ListView1_ctrl0_itemPlaceholderContainer'>   <td style='border-style:none;padding:0; margin:0; width:22%;' id='ctl00_ContentPlaceHolder1_ListView1_ctrl0_ctl01_Td3'><div class='photo'><a target='_self' title='PH1' href='fumetto.aspx?Fumetto=279277'>PH1_1</a></div></td></tr><tr style='border-style:none;padding:0; margin:0; background-image:none; vertical-align:top;' id='ctl00_ContentPlaceHolder1_ListView1_ctrl0_itemPlaceholderContainer'><td style='border-style:none;padding:0; margin:0; width:22%;' id='ctl00_ContentPlaceHolder1_ListView1_ctrl0_ctl01_Td3'><div class='photo'><a target='_self' title='PH2' href='fumetto.aspx?Fumetto=279277'>PH2_1</a></div></td></tr><tr style='border-style:none;padding:0; margin:0; background-image:none; vertical-align:top;' id='ctl00_ContentPlaceHolder1_ListView1_ctrl0_itemPlaceholderContainer'><td style='border-style:none;padding:0; margin:0; width:22%;' id='ctl00_ContentPlaceHolder1_ListView1_ctrl0_ctl01_Td3'><div class='photo'><a target='_self' title='PH3' href='fumetto.aspx?Fumetto=279277'>PH3_1</a></div></td></tr></tbody></table></body></html>"; 
     HtmlDocument doc = new HtmlDocument(); 
     doc.LoadHtml(html); 
     HtmlNode htmlnode = doc.DocumentNode.Element("html"); 
     System.Diagnostics.Debug.WriteLine(htmlnode.OuterHtml); 

对我的作品和表演只能从HTML标签内容。