Поиск в 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д