为什么在 HTMLAgilityPack (.NET) 中键入 ' 时得到 '

Why do I get &#39 when typing ' in HTMLAgilityPack (.NET)

提问人:E.D. 提问时间:1/15/2022 更新时间:1/15/2022 访问量:78

问:

我正在使用 HTMLAGilityPack 编辑网页,似乎我正在将引号替换为 ' 或“等。

为什么会发生这种情况以及如何解决?

C# .NET html-agility-pack 引号

评论

0赞 StriplingWarrior 1/15/2022
这个问题很可能是相关的。网页编码可能无法直接转换为 。NET 的 UTF-16 字符串编码,因此 HTMLAgilityPack 将字符转换为十进制编码,以保留其在 HTML 中的含义。

答:

0赞 qTzz 1/15/2022 #1

因为它正在编码。尝试使用 Html.Raw() 进行解码。

评论

0赞 E.D. 1/15/2022
我会在什么时候使用它?当我将 html 源加载到文档中时?或者当我存钱时?我都试过了,但没有用。顺便说一句,我正在使用 Blazor,所以使用 Markupstring,即 myDoc.LoadHtml(((MarkupString)myHTMLSource)。ToString());
0赞 qTzz 1/15/2022
嗯,不熟悉 blazor,但它会在加载 HTML 时出现。它读起来像 Html.Raw(htmlToRead)
0赞 E.D. 1/15/2022
我就是这样做的,如果我在加载时查看代码,那很好,只是当我使用所见即所得来编辑页面时,引号会像我说的那样变化。所以不确定问题出在敏捷包还是 WSYIWYG 上