public static void Generate(YmlCatalog catalog, string outputFileName) { var serializer = new XmlSerializer(typeof(YmlCatalog), ""); File.Delete(outputFileName); using (Stream textWriter = File.OpenWrite(outputFileName)) { using (var writer = new XmlTextWriter(textWriter, null)) { var ns = new XmlSerializerNamespaces(); ns.Add("", ""); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); writer.WriteDocType("yml_catalog", null, "shops.dtd", null); serializer.Serialize(writer, catalog, ns); } } }
public void GenerateYml() { var catalog = new YmlCatalog { Date = DateTime.Now }; var shop = new Shop(); catalog.Shop = shop; const String netpingRu = "Netping.ru"; shop.Name = netpingRu; shop.Company = netpingRu; shop.Url = "http://www.netping.ru"; shop.Currencies.Add(new Currency { Id = "RUR", Rate = 1, Plus = 0 }); var tree = new DevicesTree(_dataRepository.Devices); foreach (var categoryNode in tree.Nodes) { shop.Categories.Add(new Category { Id = categoryNode.Id, Name = categoryNode.Name, ParentId = categoryNode.Parent == null ? (Int32?)null : categoryNode.Parent.Id }); foreach (var childCategoryNode in categoryNode.Nodes) { AddOffers(childCategoryNode, shop, categoryNode); } } shop.LocalDeliveryCost = 0; YmlGenerator.Generate(catalog, StaticFilePaths.CatalogFilePath); }