Я снова проверяю, является ли указанная входная строка действительной (может использоваться в качестве значения для элемента XML) в кодировке XML UTF-8. Моя цель - указать, какая строка (из входного массива строк) недопустима в соответствии со стандартом кодировки XML UTF-8.
Вот мой код, моя текущая реализация проста - собрать файл XML с каждой отдельной строкой из массива входной строки. Я не уверен, является ли это наиболее эффективным способом. С функциональной точки зрения это работает.
Моя рабочая среда .Net 3.5 + VSTS 2008 + C #.
static void Main(string[] args)
{
string[] inputs = { "Hello", "World", "StackOverflow", "ServerFault", "&#DFFE" };
XmlDocument xDoc = new XmlDocument();
string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
string formatter = "<foo>{0}</foo>";
foreach (string item in inputs)
{
StringBuilder builder = new StringBuilder();
builder.Append (header);
builder.Append (String.Format(formatter, item));
try
{
xDoc.Load(new StringReader(builder.ToString()));
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
спасибо заранее,
George