Exemplo n.º 1
0
        /// <summary>
        /// In general you can't put named entities directly in XML PCDATA.
        /// Most entities must use numeric instead.
        /// </summary>
        /// <param name="attribute">If true, escape \r and \n to their numeric equivalents</param>
        public static string EscapeEntitiesForXml(string plaintext, bool attribute)
        {
            if (plaintext == null)
            {
                return(null);
            }

            StringBuilder output = new StringBuilder();

            foreach (char c in plaintext)
            {
                switch (c)
                {
                case '"':
                case '&':
                case '<':
                case '>':
                    output.Append(EntityEscaper.Char(c));
                    break;

                case '\r':
                case '\n':
                    if (attribute)
                    {
                        AppendNumericEntity(c, output);
                    }
                    else
                    {
                        output.Append(c);
                    }
                    break;

                case '\'':
                    if (attribute)
                    {
                        AppendNumericEntity(c, output);
                    }
                    else
                    {
                        output.Append(c);
                    }
                    break;

                case (char)160:
                    AppendNumericEntity(c, output);
                    break;

                default:
                    output.Append(c);
                    break;
                }
            }
            return(output.ToString());
        }
Exemplo n.º 2
0
		public static string EscapeEntities(string plaintext)
		{
			if (plaintext == null)
				return null;
			
			StringBuilder output = new StringBuilder();
			foreach (char c in plaintext)
			{
				output.Append(EntityEscaper.Char(c));
			}
			return output.ToString();
		}
Exemplo n.º 3
0
 public static string EscapeEntity(char c)
 {
     return(EntityEscaper.Char(c));
 }