Я могу использовать только платформу .NET 2.0 для создания XML-документа (> 1000 строк).
Информация для документа извлекается из реестра Windows.XML записывается с использованием 2 для циклов, и в этих циклах я вызываю 3 метод .ToString () для преобразования полученных данных.
Как и ожидалось, для создания XML-документа требуются годы.Мне было интересно, что я могу сделать, чтобы оптимизировать это.
public static void InitiateApp()
{
const string regadd = "SOFTWARE" + "\\" + "\\" + "Microsoft" + "\\" + "Windows NT" + "\\" + "CurrentVersion" + "\\Fonts";
RegistryKey regkey = Registry.LocalMachine.OpenSubKey(regadd);
XmlWriterSettings settings = new XmlWriterSettings();
settings.CloseOutput = true;
settings.Indent = true;
settings.IndentChars = "\t";
settings.NewLineChars = "\r\n";
settings.NewLineOnAttributes = true;
settings.OmitXmlDeclaration = true;
XmlWriter w = XmlWriter.Create("c:\\out.xml",settings);
foreach (FontFamily font in FontFamily.Families)
{
w.WriteStartElement("FontFamily");
int keyCount = 0;
foreach (string key in regkey.GetValueNames())
{
if(regkey.GetValueNames()[keyCount].ToString().Contains(font.Name))
{
w.WriteStartElement("FontName",regkey.GetValueNames()[keyCount].ToString());
w.WriteElementString("FontFile",regkey.GetValue(key).ToString());
w.WriteEndElement();
}
keyCount++;
}
w.WriteEndElement();
}
w.Flush();
}