Поиск в xml и выбор родительского узла - C#
Формулировка задачи:
как можно в c# сделать, что бы искал по всему документу в элементе "url" например "http://ssilka3.ru" и если нашёл, то брал все данные в этом элементе "offers" и сохранял в другом документе?
Листинг программы
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
- <yml_catalog date="2016-01-29 20:20">
- <shop>
- <name></name>
- <url>http://</url>
- <currencies>
- <offers>
- <offer id="14264216697225531000" available="true" merchant_id="61108" gs_product_key="a4fc22b52dc5a913dd5dcf7de0e3e55adce74e1c" article="9382" gs_category_id="591">
- <name><![CDATA[Philips-Avent1 SCF284/03]]></name>
- <description><![CDATA[текст]]></description>
- <vendor><![CDATA[Philips-]]></vendor>
- <model><![CDATA[текст]]></model>
- <oldprice></oldprice>
- <url>http://ssilka1.ru</url>
- <currencyId>RUR</currencyId>
- <categoryId>167</categoryId>
- <price>7900.00</price>
- </offer>
- <offer id="11831111219399895000" available="true" merchant_id="61108" gs_product_key="b405fd1804beee2b877a7cdf4d558c842a0d8167" article="21298" gs_category_id="591">
- <name><![CDATA[MAM текст]]></name>
- <description><![CDATA[текст]]></description>
- <vendor><![CDATA[MAM]]></vendor>
- <model><![CDATA[текст]]></model>
- <oldprice></oldprice>
- <url>http://ssilka2.ru</url>
- <currencyId>RUR</currencyId>
- <categoryId>326</categoryId>
- <price>2090.00</price>
- </offer>
- <offer id="14099211609595558000" available="true" merchant_id="61108" gs_product_key="e0e9ed249eae9342ae3420902ecc2cff94590da8" article="14977" gs_category_id="591">
- <name><![CDATA[Philips-Avent Теплоизолирующая сумка SCD150]]></name>
- <description><![CDATA[текст]]></description>
- <vendor><![CDATA[Philips-Avent]]></vendor>
- <model><![CDATA[SCD150]]></model>
- <oldprice></oldprice>
- <url>http://ssilka3.ru</url>
- <currencyId>RUR</currencyId>
- <categoryId>352</categoryId>
- <price>1610.00</price>
- </offer>
Решение задачи: «Поиск в xml и выбор родительского узла»
textual
Листинг программы
- public class Program
- {
- private static void Main(string[] args)
- {
- Program p = new Program();
- p.Run();
- Console.WriteLine("\nDone");
- Console.ReadKey();
- }
- private void Run()
- {
- XmlDocument doc = new XmlDocument();
- doc.LoadXml(Resource1.XML_Document);
- XmlElement root = doc.DocumentElement;
- XmlNodeList nodes = root.SelectNodes("offer[url="http://ssilka3.ru"]");
- Console.WriteLine("Found: " + nodes.Count);
- foreach (XmlElement node in nodes)
- {
- Console.WriteLine(node.InnerXml);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д