C# 如何使用HtmlAlityPack写出解码的HTML?

C# 如何使用HtmlAlityPack写出解码的HTML?,c#,html,html-agility-pack,decode,innertext,C#,Html,Html Agility Pack,Decode,Innertext,我尝试使用HTMLAgilityPack和DOCX库将HTML写入DOCX文件,但取得了部分成功。但是,我插入到.docx文件中的文本包含编码的html,例如: La ciudad de Los Ángeles (California) ha sincronizado su red completa de semáforos —casi 4.500—, que cubre un

我尝试使用HTMLAgilityPack和DOCX库将HTML写入DOCX文件,但取得了部分成功。但是,我插入到.docx文件中的文本包含编码的html,例如:

La ciudad de Los Ángeles (California) ha sincronizado su red completa de semáforos —casi 4.500—, que cubre una zona de 1.215 kilómetros cuadrados (469 millas cuadradas). Según el diario
我希望它更像这样:

La ciudad de Los Angeles (California) ha sincronizado su red completa de semaforos - casi 4.500 -, que cubre una zona de 1.215 kilometros cuadrados (469 millas
cuadradas). Segun el diario
为了显示一些上下文,我正在使用以下代码:

private void ParseHTMLAndConvertBackToDOCX()
{
    List<string> sourceText = new List<string>();
    List<string> targetText = new List<string>();
    HtmlAgilityPack.HtmlDocument htmlDocSource = new HtmlAgilityPack.HtmlDocument();
    HtmlAgilityPack.HtmlDocument htmlDocTarget = new HtmlAgilityPack.HtmlDocument();

    // There are various options, set as needed
    htmlDocSource.OptionFixNestedTags = true;
    htmlDocTarget.OptionFixNestedTags = true;

    htmlDocSource.Load(sourceHTMLFilename);
    htmlDocTarget.Load(targetHTMLFilename);

    // Popul8 generic list of string with source text lines
    if (htmlDocSource.DocumentNode != null)
    {
        IEnumerable<HtmlAgilityPack.HtmlNode> pNodes = htmlDocSource.DocumentNode.SelectNodes("//text()");

        foreach (HtmlNode sText in pNodes)
        {
            if (!string.IsNullOrWhiteSpace(sText.InnerText))
            {
                sourceText.Add(sText.InnerText);
            }
        }
    }
是否应该是InnerText以外的内容

是否有可能进行如下操作:

sourceText.Add(sText.InnerText.Decode());
?

Intellisense不处理此问题,即使项目编译并运行;因此,试图了解除了HTMLNode的InnerText之外还有哪些其他选项是徒劳的;我知道有OuterText、InnerHTML和OuterHTML,不过…

试试:

sourceText.Add(HttpUtility.HtmlDecode(myEncodedString));

您可以使用HTMLAgilityPack中的
HtmlEntity.deentize(sText.InnerText)

谢谢;我只需要添加一个对System.webs的引用,我更喜欢这个答案,因为除了HtmlAgilityPack之外,不需要其他代码。
sourceText.Add(HttpUtility.HtmlDecode(myEncodedString));