0
HtmlNode.ElementsFlags["div"]
はCanOverlap
とすることができ、同時にClosed
である必要がありますか?HtmlAgilityPack - 同時にCanOverlapとClosedを保証する
は、私は、このHTML(右カルコゲノフルバレン骨格)を持つ:
<p>
<div>
<b>text:</b>
<img alt="" src="#" style="BORDER: 0px solid; ">
</div>
<div>
<b>text:</b>
<div></div>
<div></div>
<p>text</p>
</div>
</p>
をそして私はすべてのタグが正しくopennedと閉じて、私はそれを行うためにHtmlAgilityPack
を使用していていることを確認する必要があります。しかし、CanOverlap
と仮定していないので、HtmlAgilityPack
は私のHTML
を変更しています。 HtmlAgilityPack(間違ったカルコゲノフルバレン骨格)によって返さ
HTML:
<p>
<div>
<b>text:</b>
<img alt="" src="#" style="BORDER: 0px solid; " />
</div>
<div />
<b>text:</b>
<div />
<div>
<p>
text
</p>
</div>
</p>
どのように私はこの問題を解決することができますか? HtmlAgilityPack
タグCanOverlap
と、タグがClosed
であることを確認するにはどうすればよいですか?
C#コード
if (!HtmlNode.ElementsFlags.ContainsKey("p"))
HtmlNode.ElementsFlags.Add("p", HtmlElementFlag.Closed);
else
HtmlNode.ElementsFlags["p"] = HtmlElementFlag.Closed;
if (!HtmlNode.ElementsFlags.ContainsKey("span"))
HtmlNode.ElementsFlags.Add("span", HtmlElementFlag.Closed);
else
HtmlNode.ElementsFlags["span"] = HtmlElementFlag.Closed;
if (!HtmlNode.ElementsFlags.ContainsKey("div"))
HtmlNode.ElementsFlags.Add("div", HtmlElementFlag.Closed);
else
HtmlNode.ElementsFlags["div"] = HtmlElementFlag.Closed;
var htmlDoc = new HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.OptionWriteEmptyNodes = true;
htmlDoc.LoadHtml(myHtml);
var htmlError = htmlDoc.ParseErrors.SafeAny();
if (!htmlError)
myHtml = htmlDoc.DocumentNode.InnerHtml;