"XML file will treat [ or ] as special characters"
Not really, there's no reason for ] to be encoded in xml. The following samples shows that .NET's XmlWriter doesn't do this:
using System;
using System.Xml;
class Program {
static void Main() {
using (var w = XmlWriter.Create(Console.Out))
w.WriteElementString("foo", "[bar]");
}
}
The output is <foo>[bar]</foo>.