首页 > 解决方案 > 为什么 Html 解码不适用于 * $

问题描述

我有一个控制台应用程序来加载 XmlDocument ,但如果字符串的值如下 * $

知道如何加载xml吗?感谢所有回复

using System;
using System.Net;   
using System.Xml;

public class Program
{
    public static void Main()
    {
        //string xmlStringWorking = "<xml>&copy; &uml; &Agrave; &yen; &sect;</xml>";

        string xmlStringWorking = "<xml>&ast; &dollar; &copy; &uml; &Agrave; &yen; &sect;</xml>";

        xmlStringWorking= WebUtility.HtmlDecode(xmlStringWorking);

        XmlDocument doc = new XmlDocument();
                        doc.LoadXml(xmlStringWorking);

        Console.WriteLine(xmlStringWorking);
    }
}

期待特殊字符在这里

dotnetfiddle

标签: c#xmldecode

解决方案


HtmlDecode只是为了撤消HtmlEncode. 由于*$在 HTML 中没有特殊含义,因此不需要对其进行编码;因此HtmlEncode不会将它们编码为&ast;and &dollar;; 因此HtmlDecode不会解码它们。


推荐阅读