我已經試圖繞過使我的第一個C#應用程序(可以做的不僅僅是顯示「Hello World」),無法弄清楚的XPath HtmlAgilityPack
現在html文件有很多的標籤,(但只拿到兩塊如下H4標籤) 但這裏是我感興趣的部分:
<table width="100%" height="400" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#111111" background="images/page_bg.gif" style="BORDER-COLLAPSE: collapse">
<tbody valign="top">
<tr>
<td>
<table width="80%" border="0" valign=top background="images/page_bg.gif">
<tr>
<td>
<div align="center">
<h4 align="center">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<b>
<font size="4" face="Arial, Helvetica, sans-serif">
UNWANTED TEXT
</font></b></font></h4>
<p><br />
Name : {NAME HERE} <br>Number : {NUMBERS HERE}<br>Number2 : {NUMBERS2}<br><br><h4>UNWANTED TEXT</h4><br>detail NO. : <span class=style7>{NUmbers3}</span><br><br><a href=http://test.xom>UNWANTED TEXT</a><br><br>
</p>
<p class="content"><em><strong>
<p> </p>
我希望得到名稱,Numbers1,Numbers2,Numbers3,所以,我想我該怎麼做像這樣=
//div[@align = "centre"]/h4/followingsibling::Text();
但肯定是不完整的,就怎麼辦吧,我從螢火蟲得到了Xpath的任何想法: /html/body/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr/td/div/h4
我也想這樣做(只是第一步,取得的原始數據,然後再修剪它)
HtmlNodeCollection node = doc.DocumentNode.SelectNodes("//table[@height='400']//div[@align='centre']"//p);
foreach(HtmlNode node1 in node)
textBox1.Text += node1.InnerText;
但是這裏的節點傳遞爲NULL 任何幫助,非常感謝。
你打算怎麼寫@calss =「data」? xpath接受一個字符串,「 - 」用於-data-創建一個問題。 doc.DocumentNode.SelectNodes( 「// DIV [@ ALIGN =」 中心 「/ P」); – TarunG 2011-05-31 09:54:17
內部表達式可以使用單引號,例如:// div [@ align ='center']。或者,您可以使用雙引號:\「,例如:// div [@align = \」center \「] – VikciaR 2011-05-31 10:01:27
HtmlNodeCollection node = doc.DocumentNode.SelectNodes(」// table [@ height ='400'] // div [@ align ='center']「// p);,試過這仍然沒有運氣,節點傳遞爲null。 – TarunG 2011-05-31 10:15:33