Décomposer des entités XML en utilisant XmlReader dans .NET?

J'essaie de ne pas encoder des entités XML dans une chaîne de caractères .NET (C#), mais je ne semble pas qu'il fonctionne correctement.

Par exemple, si j'ai la chaîne AT&Til devrait être traduit à AT&T.

Une façon est d'utiliser HttpUtility.HtmlDecode(), mais c'est pour HTML.

J'ai donc deux questions à ce sujet:

  1. Est-il sécuritaire d'utiliser HttpUtility.HtmlDecode() pour le décodage des entités XML?
  2. Comment puis-je utiliser XmlReader (ou quelque chose de similaire) pour ce faire? J'ai essayé ce qui suit, mais qui renvoie toujours une chaîne vide:
    static string ReplaceEscapes(string text)
    {
        StringReader reader = new StringReader(text);
    
        XmlReaderSettings settings = new XmlReaderSettings();
    
        settings.ConformanceLevel = ConformanceLevel.Fragment;
    
        using (XmlReader xmlReader = XmlReader.Create(reader, settings))
        {
            return xmlReader.ReadString();
        }
    }

source d'informationauteur Philippe Leybaert