continue;
writer.Write (text.ToCharArray (), start, i - start);
writer.Write ("&");
- start = i;
+ start = i + 1;
break;
case '<':
if (openAttribute)
continue;
writer.Write (text.ToCharArray (), start, i - start);
writer.Write ("<");
- start = i;
+ start = i + 1;
break;
case '\'':
+ if (!openAttribute)
+ continue;
writer.Write (text.ToCharArray (), start, i - start);
writer.Write ("'");
- start = i;
+ start = i + 1;
break;
case '\"':
+ if (!openAttribute)
+ continue;
writer.Write (text.ToCharArray (), start, i - start);
writer.Write (""");
- start = i;
+ start = i + 1;
break;
}
}
- writer.Write (text.ToCharArray (), start, text.Length - start);
+ if (text.Length > start)
+ writer.Write (text.ToCharArray (), start, text.Length - start);
}
public override void WriteRaw (string data)