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,
),
)
}
}
}
|