Пост #120938

     
сохранен 29.04.2019 11:12
  • Редактировать пост
  • Печать
  • Скачать
  • Сравнить с постом
    #  
  • Нумерация строк
  • Подсветка синтаксиса  
Текст поста
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
var CityPrices = map[string]map[string]string{
	"471010000": {"ru": "Ақтау қ.", "kz": "г. Актау"},
	"151010000": {"kz": "Ақтөбе қ.", "ru": "г. Актобе"},
	"750000000": {"kz": "Алматы қ.", "ru": "г. Алматы"},
	"710000000": {"kz": "Астана қ.", "ru": "г. Астана"},
	"231010000": {"kz": "Атырау қ.", "ru": "г. Атырау"},
	"351810000": {"kz": "Жезқазған қ.", "ru": "г. Жезказган"},
	"351010000": {"kz": "Қарағанды қ.", "ru": "г. Караганда"},
	"195220100": {"kz": "Қаскелең қ.", "ru": "г. Каскелен"},
	"191610000": {"kz": "Қапшағай қ.", "ru": "г. Капшагай"},
	"111010000": {"kz": "Көкшетау қ.", "ru": "г. Кокшетау"},
	"314851205": {"kz": "Қордай а.", "ru": "с. Кордай"},
	"391010000": {"kz": "Қостанай қ.", "ru": "г. Костанай"},
	"233620100": {"kz": "Құлсары қ.", "ru": "г. Кульсары"},
	"431010000": {"kz": "Қызылорда қ.", "ru": "г. Кызылорда"},
	"551010000": {"kz": "Павлодар қ.", "ru": "г. Павлодар"},
	"591010000": {"kz": "Петропавл қ.", "ru": "г. Петропавловск"},
	"392410000": {"kz": "Рудный қ.", "ru": "г. Рудный"},
	"352310000": {"kz": "Сәтбаев қ.", "ru": "г. Сатпаев"},
	"632810000": {"kz": "Семей қ.", "ru": "г. Семей"},
	"196220100": {"kz": "Талғар қ.", "ru": "г. Талгар"},
	"191010000": {"kz": "Талдықорған қ.", "ru": "г. Талдыкорган"},
	"311010000": {"ru": "г. Тараз", "kz": "Тараз қ."},
	"352410000": {"ru": "г. Темиртау", "kz": "Теміртау қ."},
	"271010000": {"ru": "г. Уральск", "kz": "Орал қ."},
	"631010000": {"ru": "г. Усть -­­Каменогорск", "kz": "Өскемен қ."},
	"511010000": {"ru": "г. Шымкент", "kz": "Шымкент қ."},
	"552210000": {"ru": "г. Экибастуз", "kz": "Екібастұз қ."},
	"194020100": {"ru": "г. Есик", "kz": "Есік қ."},
	"512610000": {"ru": "г. Туркестан", "kz": "Түркістан қ."},
	"117020100": {"ru": "г. Щучинск", "kz": "Щучинск қ."},
	"471810000": {"ru": "г. Жанаозен", "kz": "Жаңаөзен қ."},
	"515420100": {"ru": "г. Сарыагаш", "kz": "Сарыағаш қ."},
	"352810000": {"ru": "г. Шахтинск", "kz": "Шахтинск қ."},
	"117055900": {"ru": "г. Шиели", "kz": "Шиелі қ."},
	"273620100": {"ru": "г. Аксай", "kz": "Ақсай қ."},
	"514420100": {"ru": "г. Жетысай", "kz": "Жетісай қ."},
	"351610000": {"ru": "г. Балхаш", "kz": "Балхаш қ."},
}

type TalapaiCatalog struct {
	XMLName        xml.Name `xml:"kaspi_catalog"`
	Text           string   `xml:",chardata"`
	Xsi            string   `xml:"xsi,attr"`
	Date           string   `xml:"date,attr"`
	Xmlns          string   `xml:"xmlns,attr"`
	SchemaLocation string   `xml:"schemaLocation,attr"`
	Company        struct {
		Text string `xml:",chardata"`
	} `xml:"company"`
	Merchantid struct {
		Text string `xml:",chardata"`
	} `xml:"merchantid"`
	Offers struct {
		Text  string `xml:",chardata"`
		Offer []struct {
			Text  string `xml:",chardata"`
			Sku   string `xml:"sku,attr"`
			Model struct {
				Text string `xml:",chardata"`
			} `xml:"model"`
			Availabilities Availabilities `xml:"availabilities"`
			Cityprices     struct {
				Text      string `xml:",chardata"`
				Cityprice []struct {
					Text   string `xml:",chardata"`
					CityId string `xml:"cityId,attr"`
				} `xml:"cityprice"`
			} `xml:"cityprices"`
		} `xml:"offer"`
	} `xml:"offers"`
}

type Availabilities struct {
	Text         string `xml:",chardata"`
	Availability []struct {
		Text      string `xml:",chardata"`
		Available string `xml:"available,attr"`
		StoreId   string `xml:"storeId,attr"`
	} `xml:"availability"`
}

type Cityprices struct {
	Text      string `xml:",chardata"`
	Cityprice []struct {
		Text   string `xml:",chardata"`
		CityId string `xml:"cityId,attr"`
	} `xml:"cityprice"`
}

talapaiCatalog := TalapaiCatalog{}
	data, _ := ioutil.ReadFile("/home/mak/Downloads/Kaspi_price_Nurancell.xml")
	xml.Unmarshal(data, &talapaiCatalog)

	for _, offer := range talapaiCatalog.Offers.Offer {
		var avail string
		// var price string
		for _, city := range offer.Cityprices.Cityprice {
			if CityPrices[city.CityId]["ru"] == "г. Алматы" {
				fmt.Println(
					fmt.Sprintf(
						"Merchant: \"%s\", SKU: \"%s\", Title: \"%s\", City: \"%s\", Price: \"%s\", Avail: \"%s\"",
						talapaiCatalog.Merchantid,
						offer.Sku,        // SKU
						offer.Model.Text, // Title
						city.CityId,      // CityID
						city.Text,        // Price
						avail,
					),
				)
			}
		}
	}
Добавить комментарий
Автор