Работаем с xml в c#

Используем класс XmlDocument для работы с xml документом

  1. Создаем xml документ из строки
    var xml =
        @"<Products xmlns:ons='http://othernamespace'>
            <Product Id='1'>1</Product>
            <ons:Product ons:Id='2'>2</ons:Product>
        </Products>";
    var doc = new XmlDocument();
    doc.LoadXml(xml);
    
  2. Создаем xml документ из файла
    XmlDocument doc = new XmlDocument();
    doc.Load(@"c:\path.xml");
    
  3. Создаем xml документ с помощью методов
    XmlDocument doc = new XmlDocument();
    // создаем корневой элемент
    XmlNode rootXmlNode = doc.CreateElement("Products");
    doc.AppendChild(rootXmlNode);
    // создаем первый дочерний элемент
    XmlNode xmlNode = doc.CreateElement("Product");
    xmlNode.InnerText = "1";
    doc.DocumentElement.AppendChild(xmlNode);
    XmlAttribute xmlAttribute = doc.CreateAttribute("Id");
    xmlAttribute.Value = "1";
    xmlNode.Attributes.Append(xmlAttribute);
    // создаем второй дочерний элемент в другом пространстве
    string ons = "http://othernamespace";
    XmlAttribute onsAttribute = doc.CreateAttribute("xmlns", "ons",
     "http://www.w3.org/2000/xmlns/");
    onsAttribute.Value = ons;
    rootXmlNode.Attributes.Append(onsAttribute);
    
    xmlNode = doc.CreateElement("ons", "Product", ons);
    xmlNode.InnerText = "2";
    doc.DocumentElement.AppendChild(xmlNode);
    xmlAttribute = doc.CreateAttribute("ons", "Id", ons);
    xmlAttribute.Value = "2";
    xmlNode.Attributes.Append(xmlAttribute);
    
  4. Сохраняем xml документ
    doc.Save(@"c:\path.xml");
    
  5. Показываем xml документ в браузере
    Response.ContentType = "text/xml";
    Response.Write(doc.OuterXml);
    
  6. Поиск узлов
    // обычный поиск узлов
    var products = doc.FirstChild;
    var product = products["Product"];
    do
    {
        long productId = long.Parse(product.Attributes["Id"].Value);
        product = product.NextSibling;
    }
    while (product != null);
    // находим список узлов по xpath
    products = doc.SelectNodes("//Product");
    // находим список узлов из другого пространства
    XmlNamespaceManager ons = new XmlNamespaceManager(doc.NameTable);
    ons.AddNamespace("ons", "http://othernamespace");
    products = doc.SelectNodes("//ons:Product//*", ons);
    // находим первый узел по xpath
    product = doc.SelectSingleNode("//Product");
    // находим первый узел по xpath в другом пространстве
    product = doc.SelectSingleNode("//ons:Product", ons);
    
По теме:
Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; Read more

Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать Read more

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку Read more

Делаем водяной знак на картинке (c#, .net)

Нанесем несколько раз картинку watermark на другую картинку. public void DrawWatermark(string watermarkImagePath, System.Drawing.Image image) { using (System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(watermarkImagePath)) Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *