|
Как собрать схему из такого xml | ☑ | ||
---|---|---|---|---|
0
Zixxx
16.07.13
✎
08:50
|
Есть вот такой XML
[CODE] <?xml version="1.0" encoding="windows-1251"?> <response> <status> <code>0</code> </status> <result> <rows>14086</rows> <data> <row0> <campaignID>142052</campaignID> <campaignName>(moscow)(mainpage)header_sp_1</campaignName> <bannerID>809429</bannerID> <bannerName>(ad_zone)header_sp_1</bannerName> <placeID>488983</placeID> <placeName>(ad_zone)header_sp_1</placeName> <impressions>1</impressions> <clicks>0</clicks> <bannerUserDefined1>383001967f4c9-b985-11de-a311-001d604582c7</bannerUserDefined1> <bannerUserDefined2>38300569e7d3e-020f-11e2-8ceb-0025902cba63</bannerUserDefined2> <bannerUserDefined3>38300i18092n5</bannerUserDefined3> <bannerUserDefined4>3830095c71687-fbb0-11df-9419-001d604582c7</bannerUserDefined4> <bannerUserDefined5>0</bannerUserDefined5> </row0> <row1> <campaignID>142052</campaignID> <campaignName>(moscow)(mainpage)header_sp_1</campaignName> <bannerID>809429</bannerID> <bannerName>(ad_zone)header_sp_1</bannerName> <placeID>489193</placeID> <placeName>(ad_zone)header_sp_1</placeName> <impressions>5</impressions> <clicks>0</clicks> <bannerUserDefined1>383001967f4c9-b985-11de-a311-001d604582c7</bannerUserDefined1> <bannerUserDefined2>38300569e7d3e-020f-11e2-8ceb-0025902cba63</bannerUserDefined2> <bannerUserDefined3>38300i18092n5</bannerUserDefined3> <bannerUserDefined4>3830095c71687-fbb0-11df-9419-001d604582c7</bannerUserDefined4> <bannerUserDefined5>0</bannerUserDefined5> </row1> <row2> <campaignID>142052</campaignID> <campaignName>(moscow)(mainpage)header_sp_1</campaignName> <bannerID>809429</bannerID> <bannerName>(ad_zone)header_sp_1</bannerName> <placeID>490003</placeID> <placeName>(ad_zone)header_sp_1</placeName> <impressions>33</impressions> <clicks>0</clicks> <bannerUserDefined1>383001967f4c9-b985-11de-a311-001d604582c7</bannerUserDefined1> <bannerUserDefined2>38300569e7d3e-020f-11e2-8ceb-0025902cba63</bannerUserDefined2> <bannerUserDefined3>38300i18092n5</bannerUserDefined3> <bannerUserDefined4>3830095c71687-fbb0-11df-9419-001d604582c7</bannerUserDefined4> <bannerUserDefined5>0</bannerUserDefined5> </row2> </data> </result> </response> [/CODE] Вся беда в том что повторяются строки <row0>, <row1>, <row2> и их десятки тысяч. Попробовал сделать так [CODE] <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:tns="a91ef465-75c7-41f9-b6d3-b57d9331cf0c" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="a91ef465-75c7-41f9-b6d3-b57d9331cf0c" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xs:complexType name="response"> <xs:sequence> <xs:complexType name="status"> <xs:sequence> <xs:element name="code" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="result"> <xs:sequence> <xs:element name="rows" type="xs:string"/> <xs:complexType name="data"> <xs:element name="rows???" type="tns:ЭлементСтроки" minOccurs="0" maxOccurs="unbounded"/> </xs:complexType> </xs:sequence> </xs:complexType> </xs:sequence> </xs:complexType> <xs:complexType name="ЭлементСтроки"> <xs:sequence> <xs:element name="campaignID" type="xs:string" /> <xs:element name="campaignName" type="xs:string" /> <xs:element name="bannerID" type="xs:string" /> <xs:element name="bannerName" type="xs:string" /> <xs:element name="placeID" type="xs:string" /> <xs:element name="placeName" type="xs:string" /> <xs:element name="impressions" type="xs:string" /> <xs:element name="clicks" type="xs:string" /> <xs:element name="bannerUserDefined1" type="xs:string" /> <xs:element name="bannerUserDefined2" type="xs:string" /> <xs:element name="bannerUserDefined3" type="xs:string" /> <xs:element name="bannerUserDefined4" type="xs:string" /> <xs:element name="bannerUserDefined5" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:schema> [/CODE] Но вопрос опять же как быть с rows??? которые повторяются с подстановкой 0 1 2 3 и т.д.? |
|||
1
AaNnDdRrEeYy
16.07.13
✎
09:00
|
это xml случайно не из DataAdapter c коннектом к какой-то базе?
|
|||
2
Zixxx
16.07.13
✎
09:02
|
(1) Это статистика из AdFox
|
|||
3
AaNnDdRrEeYy
16.07.13
✎
09:04
|
я не контору имел в виду и не программу, а технологию.
если эти данные вытягиваются через средний уровень т.е dataAdapter который подключен к БД то можно напрямую забрать данные из БД, без всяких адаптеров которые такие xml выплевывают. |
|||
4
Zixxx
16.07.13
✎
09:06
|
(3) Нет, это все что могут дать
|
|||
5
Serginio1
16.07.13
✎
09:06
|
||||
6
Zixxx
16.07.13
✎
09:14
|
(5) Так схему то я создаю либо вручную либо через Visual Studio. Но проблема в том что как быть с типами row0, row1, row2, ... row12254. Описывать каждый такой тип в схеме с запасом до row100000?
|
|||
7
George Wheels
16.07.13
✎
09:17
|
Я думаю только предварительно привести все row0, row1, row2, ... row12254 к виду <row>.
|
|||
8
Serginio1
16.07.13
✎
09:17
|
(6) Ясно. Интересно, кто же такой умный то?
Есть предложение перед загрузкой заменить все rowX на row |
|||
9
Zixxx
16.07.13
✎
09:26
|
(7), (8) печально :(
|
|||
10
slin-dev
16.07.13
✎
09:30
|
скорее, вид должен быть подобным <row count="1">
|
|||
11
Zixxx
16.07.13
✎
09:32
|
(10) Не совсем понял
|
|||
12
Serginio1
16.07.13
✎
09:55
|
(9) Через чтениеXML и ЗаписьXML задача простая
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |