C# HtmlAgilityPack LoadHtml-带有空P标记的问题

C# HtmlAgilityPack LoadHtml-带有空P标记的问题,c#,html-agility-pack,C#,Html Agility Pack,我正在尝试加载简单html: var html = "<div>something<p></p></div>"; var doc = new HtmlDocument(); doc.LoadHtml(html); 正如你们所看到的,它丢失了结束的p标签,我的HTML也被弄乱了 我找不到任何解决方案,请任何人帮助我。您正在寻找的标志是: 定义在输出期间是否必须将空节点写入为关闭 就你而言: doc.OptionWriteEmptyNodes =

我正在尝试加载简单html:

var html = "<div>something<p></p></div>";

var doc = new HtmlDocument();
doc.LoadHtml(html);
正如你们所看到的,它丢失了结束的p标签,我的HTML也被弄乱了

我找不到任何解决方案,请任何人帮助我。

您正在寻找的标志是:

定义在输出期间是否必须将空节点写入为关闭

就你而言:

doc.OptionWriteEmptyNodes = true;
收益率:

<div>something<p /></div>
something


您可以使用
doc.OptionWriteEmptyNodes=true
获取
内容

我标记了一个重复,但经过进一步研究,我重新打开了,因为这不是一个bug。这是一个特性(是的,真的),并且输出没有“混乱”。在这种特殊情况下,结束标记是可选的。记住HTML不是XML。您发布的HTML满足这些要求。@haim770谢谢,这就解决了我的问题。如果你想把它写下来作为答案,这样我就可以接受了。@spender也谢谢你。Yo是正确的,结束标签是可选的,但我真的希望如果HtmlAgilityPack不删除它自己,因为我认为这是不明确的代码。每个标签都应有结束标签或自动关闭标签。让它保持打开状态可能会导致许多问题,就像我曾经遇到的那样。
<div>something<p /></div>