Поиск в xml и выбор родительского узла - C#

Узнай цену своей работы

Формулировка задачи:

как можно в c# сделать, что бы искал по всему документу в элементе "url" например "http://ssilka3.ru" и если нашёл, то брал все данные в этом элементе "offers" и сохранял в другом документе?
Листинг программы
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
  3. <yml_catalog date="2016-01-29 20:20">
  4. <shop>
  5. <name></name>
  6. <url>http://</url>
  7. <currencies>
  8. <offers>
  9. <offer id="14264216697225531000" available="true" merchant_id="61108" gs_product_key="a4fc22b52dc5a913dd5dcf7de0e3e55adce74e1c" article="9382" gs_category_id="591">
  10. <name><![CDATA[Philips-Avent1 SCF284/03]]></name>
  11. <description><![CDATA[текст]]></description>
  12. <vendor><![CDATA[Philips-]]></vendor>
  13. <model><![CDATA[текст]]></model>
  14. <oldprice></oldprice>
  15. <url>http://ssilka1.ru</url>
  16. <currencyId>RUR</currencyId>
  17. <categoryId>167</categoryId>
  18. <price>7900.00</price>
  19. </offer>
  20. <offer id="11831111219399895000" available="true" merchant_id="61108" gs_product_key="b405fd1804beee2b877a7cdf4d558c842a0d8167" article="21298" gs_category_id="591">
  21. <name><![CDATA[MAM текст]]></name>
  22. <description><![CDATA[текст]]></description>
  23. <vendor><![CDATA[MAM]]></vendor>
  24. <model><![CDATA[текст]]></model>
  25. <oldprice></oldprice>
  26. <url>http://ssilka2.ru</url>
  27. <currencyId>RUR</currencyId>
  28. <categoryId>326</categoryId>
  29. <price>2090.00</price>
  30. </offer>
  31. <offer id="14099211609595558000" available="true" merchant_id="61108" gs_product_key="e0e9ed249eae9342ae3420902ecc2cff94590da8" article="14977" gs_category_id="591">
  32. <name><![CDATA[Philips-Avent Теплоизолирующая сумка SCD150]]></name>
  33. <description><![CDATA[текст]]></description>
  34. <vendor><![CDATA[Philips-Avent]]></vendor>
  35. <model><![CDATA[SCD150]]></model>
  36. <oldprice></oldprice>
  37. <url>http://ssilka3.ru</url>
  38. <currencyId>RUR</currencyId>
  39. <categoryId>352</categoryId>
  40. <price>1610.00</price>
  41. </offer>

Решение задачи: «Поиск в xml и выбор родительского узла»

textual
Листинг программы
  1.     public class Program
  2.     {
  3.         private static void Main(string[] args)
  4.         {
  5.             Program p = new Program();
  6.             p.Run();
  7.  
  8.             Console.WriteLine("\nDone");
  9.             Console.ReadKey();
  10.         }
  11.  
  12.         private void Run()
  13.         {
  14.             XmlDocument doc = new XmlDocument();
  15.             doc.LoadXml(Resource1.XML_Document);
  16.  
  17.             XmlElement root = doc.DocumentElement;
  18.  
  19.             XmlNodeList nodes = root.SelectNodes("offer[url="http://ssilka3.ru"]");
  20.  
  21.             Console.WriteLine("Found: " + nodes.Count);
  22.  
  23.             foreach (XmlElement node in nodes)
  24.             {
  25.                 Console.WriteLine(node.InnerXml);
  26.             }
  27.         }
  28.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут