我需要解析HTML字符串是這樣的:HTMLAgility Pack可以保留未封閉的標籤嗎?
<widget attribute="1">
<header>
<table>
</header>
<item>
<tr><td>content</td></tr>
</item>
<footer>
</table>
</footer>
</widget>
我使用HTML敏捷性包,我能找到的所有「部件」:
HtmlDocument doc = new HtmlDocument();
doc.OptionAutoCloseOnEnd = false;
doc.OptionOutputAsXml = false;
doc.LoadHtml(htmlString);
HtmlNodeCollection widgets = doc.DocumentNode.SelectNodes("//widget");
我的問題是,當我嘗試獲取Widget節點的所有子節點。HTMLAgility會自動關閉所有我的標記,因此我無法正確檢索Header,Item和Footer節點。由Agility生成的輸出爲:
<header>
<table>
</table></header>
<item>
<tr>
<td><p>Riga n.1</p></td>
</tr>
</item>
<footer>
</footer>
它關閉標題中的表標記,並將頁標記隱藏在頁腳中。有沒有辦法讓這些標籤不封閉?我試圖搜索有關LoadHtml方法邏輯的文檔,但我沒有找到任何東西。我想我需要玩選項。
你能幫我嗎?
這不是一個HTML字符串。 – BoltClock 2013-02-24 14:49:47
我知道這不是一個符合標準的html字符串..我需要解析它,然後我將動態構建標準的html代碼。所以我問是否有辦法用HTMLAgility來管理這種類型的代碼「異常」。 – Gianni 2013-02-24 15:23:03