HtmlAgilityPack UTF-8 encoding

本文关键字:encoding UTF-8 HtmlAgilityPack | 更新日期: 2023-09-27 18:28:06

我正在使用HtmlAgilityPack解析我的html文档,但我无法获得正确的html。

例如:

string s="<!DOCTYPE html>
              <li>Voltage: <0.05% + 10 mV 
              (<0.1% + 25 mV for output 2 of E3646/47/48/49A)</li>
          </html>";
HtmlAgilityPack.HtmlDocument doc;
doc.LoadHtml(s); 

但我得到了:

"<li>Voltage: <0.05% +="" 10="" mv=""></0.05%><0.1% +="" 25="" mv="" for="" output="" 2="" of=""></0.1%></li>"

而不是:

"<li>Voltage: <0.05% + 10 mV (<0.1% + 25 mV for output 2 of E3646/47/48/49A)</li>"

问题出在哪里?

附言:我有另一个utf-8编码的html文档,它没有问题。

HtmlAgilityPack UTF-8 encoding

li的文本中有<,导致mV等被解释为0.05%元素的属性(它被解释为一个元素,因为它前面有一个<)。

你应该把这些转移到&lt;

string s="<!DOCTYPE html>
              <li>Voltage: &lt;0.05% + 10 mV 
              (&lt;0.1% + 25 mV for output 2 of E3646/47/48/49A)</li>
          </html>";