Html Agility Pack unclosed embed,param標籤

.net asp.net c# html-agility-pack

嘗試解析embed-object標記,如下所示:

HtmlNode source2 = HD.CreateElement(“source”); source2.InnerHtml =

<object width="640" height="390" ><param name="movie" value="http://videa.hu/flvplayer.swf?v=SMxjdkVDqmrfAxJz" /><param name="allowscriptaccess" value="always" /><param name="allowFullScreen" value="true" /><embed width="640" height="390" src="http://videa.hu/flvplayer.swf?v=SMxjdkVDqmrfAxJz" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" /></object><br /><a href="http://videa.hu/videok/jarmuvek/markoloval-tisztitjak-a-parkolot-az-SMxjdkVDqmrfAxJz"> title="fdsdf sdf">dsdfs fs dfsd fsd </a>n here.

問題是當我嘗試文檔代碼HD.DocumentNode.OuterHtmlsource2.InnerHtml ,param和embed標籤將是未閉合的。

我試過了

HtmlNode.ElementsFlags [“param”] = HtmlElementFlag.Closed;

但得到一個額外的標籤。

謝謝

熱門答案

嘗試這個,

 HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
 document.LoadHtml(loadhtmlstring);
 document.OptionFixNestedTags = true;

當您將html加載到HtmlDocument時嘗試修復html標記。那麼你可以解決你的問題。這允許自動修復HTML的標記錯誤。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因