Автор: alexeiv | Август 28, 2009

YML, всё для ASP.NET

Для тех, кто желает создать свой магазин и начитать файлы в формате YML в ASP.NET, мы пишем код, для начитывания YML файлов на C#

using System.Collections.ObjectModel;
using System.Xml.Serialization;

[Serializable]
public class yml_catalog
{
private string DateValue=DateTime.Now.ToString(“yyyy-MM-dd HH:mm”);

[XmlAttribute(AttributeName = "date")]
public string Date
{
get { return DateValue; }
set { DateValue = value; }
}

private ShopClass ShopValue;

[XmlElement (ElementName="shop")]
public ShopClass Shop
{
get { return ShopValue; }
set { ShopValue = value; }
}

public yml_catalog()
{
}
}

[Serializable]
public class ShopClass
{
private string NameValue;

[XmlElement(ElementName="name",Order=1)]
public string Name
{
get { return NameValue; }
set { NameValue = value; }
}

private string CompanyValue;
[XmlElement(ElementName = "company",Order=2)]
public string Company
{
get { return CompanyValue; }
set { CompanyValue = value; }
}

private string UrlValue;
[XmlElement(ElementName = "url",Order=3)]
public string Url
{
get { return UrlValue; }
set { UrlValue = value; }
}

//private Collection<Currency> CurrencyValue;
[XmlArray(ElementName = "currencies",Order=4)]
[XmlArrayItem(ElementName = "currency")]
public Collection<Currency> Currency;
//{get { return CurrencyValue; }
//set { CurrencyValue = value; }
//}

private Collection<Category> CategoriesValue;
[XmlArray (ElementName="categories",Order=5)]
[XmlArrayItem(ElementName="category")]
public Collection<Category> Categories
{
get { return CategoriesValue; }
set { CategoriesValue = value; }
}

[XmlArray(ElementName="offers",Order=10)]
[XmlArrayItem(ElementName="offer")]
public Collection<Offer> offers;

public ShopClass(string name, string company)
{
Name = name; Company = company;
}

public ShopClass()
{

}

}

[Serializable]
[XmlRoot(ElementName="categories")]
public class Categories
{
Collection<Category> category;
public Categories()
{

}
}

[Serializable]
public class Currency
{
private string IdValue=”RRU”;

[XmlElement(ElementName = "id")]
public string Id
{
get { return IdValue; }
set { IdValue = value; }
}
private int RateValue=31;
[XmlElement(ElementName = "rate")]
public int Rate
{
get { return RateValue; }
set { RateValue = value; }
}

public Currency()
{
}
}

[XmlRoot(ElementName = "category")]
public class Category
{
private int IdValue=-100;
[XmlAttribute(AttributeName = "id")]
public int Id
{
get { return IdValue; }
set { IdValue = value; }
}

private int ParentIdValue;
[XmlAttribute(AttributeName = "parentId")]
public int ParentId
{
get { return ParentIdValue; }
set { ParentIdValue = value; }
}

private string NameValue;
[XmlText]
public string Name
{
get { return NameValue; }
set { NameValue = value; }
}

public Category()
{
}
}

[XmlRoot(ElementName = "offer")]
public class Offer
{

private long IDValue;
[XmlAttribute(AttributeName="id")]
public long ID
{
get { return IDValue; }
set { IDValue = value; }
}

private bool AvailableValue;
[XmlAttribute(AttributeName = "available")]
public bool Available
{
get { return AvailableValue; }
set { AvailableValue = value; }
}

private string UrlValue;
[XmlElement(ElementName="url")]
public string Url
{
get { return UrlValue; }
set { UrlValue = value; }
}

private double PriceValue = 2.07;
[XmlElement(ElementName = "price")]
public double Price
{
get { return PriceValue; }
set { PriceValue = value; }
}

private string CurrencyValue;
[XmlElement(ElementName = "currencyId")]
public string Currency
{
get { return CurrencyValue; }
set { CurrencyValue = value; }
}

private string PictureValue;
[XmlElement(ElementName = "picture")]
public string Picture
{
get { return PictureValue; }
set { PictureValue = value; }
}

private Collection<long> CategoryIDValue;

[XmlElement(ElementName = "categoryId")]
public Collection<long> CategoryID
{
get { return CategoryIDValue; }
set { CategoryIDValue = value; }
}

private bool DeliveryValue;
[XmlElement(ElementName = "delivery")]
public bool Delivery
{
get { return DeliveryValue; }
set { DeliveryValue = value; }
}

private Collection<string> OrderingTimeValue;
[XmlArray (ElementName="orderingTime")]
[XmlArrayItem(ElementName="ordering")]
public Collection<string> OrderingTime
{
get { return OrderingTimeValue; }
set { OrderingTimeValue = value; }
}

private string NameValue;
[XmlElement(ElementName = "name")]
public string Name
{
get { return NameValue; }
set { NameValue = value; }
}

private string VendorValue;
[XmlElement(ElementName = "vendor")]
public string Vendor
{
get { return VendorValue; }
set { VendorValue = value; }
}

private string DescriptionValue;
[XmlElement(ElementName = "description")]
public string Description
{
get { return DescriptionValue; }
set { DescriptionValue = value; }
}

public Offer(string descr, int catId)
{
this.Description = descr;
this.CategoryID = new Collection<long>();
this.CategoryID.Add(catId);
OrderingTime = new Collection<string>();
}

public Offer()
{
}
}

Что такое YML

YML – формат представления информации о магазине, размещаемых товарах и ставках, созданный для Яндекс.Маркета. В России YML является де-факто стандартом для таких данных. Большинство российских разработчиков интернет-магазинов предлагает в комплекте стандартной поставки модуль для работы с Маркетом. Если в вашем магазине не предусмотрен такой модуль, то следует обратиться к разработчику. Обычно создание и настройка передачи актуальных данных в формате YML для интернет-магазина занимает один или два дня работы программиста.


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

Fill in your details below or click an icon to log in:

Логотип WordPress.com

You are commenting using your WordPress.com account. Log Out / Изменить )

Фотография Twitter

You are commenting using your Twitter account. Log Out / Изменить )

Фотография Facebook

You are commenting using your Facebook account. Log Out / Изменить )

Connecting to %s

Рубрики

Follow

Get every new post delivered to your Inbox.