System.Diagnostics.XmlWriterTraceListener.WriteEscaped C# (CSharp) Method

WriteEscaped() private method

private WriteEscaped ( string str ) : void
str string
return void
        private void WriteEscaped(string str) {
            if (str == null)
                return;
            
            int lastIndex = 0;
            for (int i=0; i<str.Length; i++) {
                switch(str[i]) {
                    case '&':
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&amp;");
                        lastIndex = i +1;
                        break;
                    case '<':
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&lt;");
                        lastIndex = i +1;
                        break;
                    case '>':
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&gt;");
                        lastIndex = i +1;
                        break;
                    case '"':
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&quot;");
                        lastIndex = i +1;
                        break;
                    case '\'':
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&apos;");
                        lastIndex = i +1;
                        break;
                    case (char)0xD:
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&#xD;");
                        lastIndex = i +1;
                        break;
                    case (char)0xA:
                        InternalWrite(str.Substring(lastIndex, i-lastIndex));
                        InternalWrite("&#xA;");
                        lastIndex = i +1;
                        break;
                }
            }
            InternalWrite(str.Substring(lastIndex, str.Length-lastIndex));
        }