Я уже несколько раз писал про работу с XML, как сохранять настройки приложения в xml, как шифровать отдельные теги но все это было слишком громоздкое, чтоб построить какой то xml документ приходилось проделать немало работы, создать новый документ, создать корневой элемент, построить данные внутри этого элемента, потом все это добавить, вставить что та там еще ну и сохранить :)
Вот небольшой пример построения xml:
Вот небольшой пример построения xml:
private static void XmlDoc()Проделав всю эту работу мы получим вот такой файл:
{
// создали новый xml документ
XmlDocument document = new XmlDocument();
// создать главный элемент "MyNotebookXML"
XmlElement element = document.CreateElement("MyNotebookXML");
// создать элемент "Notebook" с атрибутом "Year" и его значением "2012"
XmlElement type = document.CreateElement("Notebook");
type.SetAttribute("Year", "2012");
//все складываем внутри элемента "Notebook"
XmlElement model = document.CreateElement("Model");
model.InnerText = "DELL Inspiron 5520";
XmlElement cpu = document.CreateElement("CPU");
cpu.InnerText = "Intel core i7 3612QM";
XmlElement ram = document.CreateElement("RAM");
ram.InnerText = "RAM";
XmlElement hdd = document.CreateElement("HDD");
hdd.InnerText = "1tb";
// добавляем model, cpu, ram, hdd в Notebook
type.AppendChild(model);
type.AppendChild(cpu);
type.AppendChild(ram);
type.AppendChild(hdd);
// добавить "Notebook" в "MyNotebookXML"
element.AppendChild(type);
// вставить весь с генерированный xml в XmlDocument
document.AppendChild(element);
// сохранить все под именем "MyNotebook.xml"
document.Save("MyNotebook.xml");
}
Сложновато, не так ли? Ну ничего у нас есть LINQ to XML который обеспечивает интерфейс программирования для работы с XML в памяти на основе платформы .NET LINQ Framework. LINQ to XML использует новейшие возможности языка платформы .NET Framework и может быть сравним с обновленным, переработанным программным интерфейсом XML модели DOM. (MSDN).
Понятно что LINQ to XML по круче, и сейчас вы сами в этом удостоверитесь. Следующий метод делает то же что и предыдущий только с помощью LINQ:
private static void LinqTOxmlDoc()И что в результате получилось:
{
// а вот это c помощью LINQ to XML
XElement element =
new XElement("MyNotebookXML",
new XElement("Notebook", new XAttribute("Year", "2012"),
new XElement("Model", "DELL Inspiron 5520"),
new XElement("CPU", "Intel core i7 3612QM"),
new XElement("RAM", "RAM"),
new XElement("HDD", "1tb")));
element.Save("MyNotebookLinq.xml");
}
Помоем код стал чуть-чуть меньше :) а результат остался прежний.
P.S. Я вам показал что LINQ это нечто очень-очень мощное, ну а далее вы разбирайтесь сами. Вот вам ссылка на MSDN, будут какие то вопросы, пишите не стесняйтесь :)
Удачи в ПРОграммировании.
Я уже несколько раз писал про работу с XML, как сохранять настройки приложения в xml, как шифровать отдельные теги но все это было слишком громоздкое, чтоб построить какой то xml документ приходилось проделать немало работы, создать новый документ, создать корневой элемент, построить данные внутри этого элемента, потом все это добавить, вставить что та там еще ну и сохранить :)
Вот небольшой пример построения xml:
Вот небольшой пример построения xml:
private static void XmlDoc()Проделав всю эту работу мы получим вот такой файл:
{
// создали новый xml документ
XmlDocument document = new XmlDocument();
// создать главный элемент "MyNotebookXML"
XmlElement element = document.CreateElement("MyNotebookXML");
// создать элемент "Notebook" с атрибутом "Year" и его значением "2012"
XmlElement type = document.CreateElement("Notebook");
type.SetAttribute("Year", "2012");
//все складываем внутри элемента "Notebook"
XmlElement model = document.CreateElement("Model");
model.InnerText = "DELL Inspiron 5520";
XmlElement cpu = document.CreateElement("CPU");
cpu.InnerText = "Intel core i7 3612QM";
XmlElement ram = document.CreateElement("RAM");
ram.InnerText = "RAM";
XmlElement hdd = document.CreateElement("HDD");
hdd.InnerText = "1tb";
// добавляем model, cpu, ram, hdd в Notebook
type.AppendChild(model);
type.AppendChild(cpu);
type.AppendChild(ram);
type.AppendChild(hdd);
// добавить "Notebook" в "MyNotebookXML"
element.AppendChild(type);
// вставить весь с генерированный xml в XmlDocument
document.AppendChild(element);
// сохранить все под именем "MyNotebook.xml"
document.Save("MyNotebook.xml");
}
Сложновато, не так ли? Ну ничего у нас есть LINQ to XML который обеспечивает интерфейс программирования для работы с XML в памяти на основе платформы .NET LINQ Framework. LINQ to XML использует новейшие возможности языка платформы .NET Framework и может быть сравним с обновленным, переработанным программным интерфейсом XML модели DOM. (MSDN).
Понятно что LINQ to XML по круче, и сейчас вы сами в этом удостоверитесь. Следующий метод делает то же что и предыдущий только с помощью LINQ:
private static void LinqTOxmlDoc()И что в результате получилось:
{
// а вот это c помощью LINQ to XML
XElement element =
new XElement("MyNotebookXML",
new XElement("Notebook", new XAttribute("Year", "2012"),
new XElement("Model", "DELL Inspiron 5520"),
new XElement("CPU", "Intel core i7 3612QM"),
new XElement("RAM", "RAM"),
new XElement("HDD", "1tb")));
element.Save("MyNotebookLinq.xml");
}
Помоем код стал чуть-чуть меньше :) а результат остался прежний.
P.S. Я вам показал что LINQ это нечто очень-очень мощное, ну а далее вы разбирайтесь сами. Вот вам ссылка на MSDN, будут какие то вопросы, пишите не стесняйтесь :)
Удачи в ПРОграммировании.
0 коммент.:
Отправить комментарий