powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите разобрать XML
24 сообщений из 24, страница 1 из 1
помогите разобрать XML
    #39560699
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, помогите плз разобрать ответ SOAP
Код: xml
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.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <Get_Vehicles_V11Response xmlns="http://transics.org">
         <Get_Vehicles_V11Result Executiontime="1.0070761">
            <Errors/>
            <Warnings/>
            <Vehicles>
               <InterfaceVehicleResult_V11>
                  <VehicleFleetNumber>???TX-Social???</VehicleFleetNumber>
                  <Groups>
                     <TxConnectGroups>
                        <ConnectGroups>
                           <ConnectGroup>
                              <Group>Pojazdy wlasne ADAMPOL</Group>
                              <SubGroup>PRZEMEK</SubGroup>
                           </ConnectGroup>
                           <ConnectGroup>
                              <Group>Pojazdy wlasne ADAMPOL</Group>
                              <SubGroup>ALL</SubGroup>
                           </ConnectGroup>
                           <ConnectGroup>
                              <Group>MAN</Group>
                              <SubGroup>ADAMPOL</SubGroup>
                           </ConnectGroup>
                           <ConnectGroup>
                              <Group>TACHOGRAF</Group>
                              <SubGroup>CYFROWY</SubGroup>
                           </ConnectGroup>
                        </ConnectGroups>
                     </TxConnectGroups>
                     <SocialGroup>
                        <StartDate xsi:nil="true"/>
                        <EndDate xsi:nil="true"/>
                     </SocialGroup>
                  </Groups>
                  <ExtraTruckInfo>
                     <Country>FR</Country>
                     <InDuty xsi:nil="true"/>
                     <OutDuty xsi:nil="true"/>
                     <Category>3</Category>
                     <Make>???TX-Social???</Make>
                     <Statuses>
                        <Company>false</Company>
                        <Rental>false</Rental>
                        <Loan>false</Loan>
                        <Truck>false</Truck>
                        <LightVehicle>false</LightVehicle>
                        <DigitalTacho>false</DigitalTacho>
                        <TractorUnit>false</TractorUnit>
                        <Coach>false</Coach>
                     </Statuses>
                  </ExtraTruckInfo>
                  <VehicleID>1</VehicleID>
                  <VehicleExternalCode>Kordala P.</VehicleExternalCode>
                  <LicensePlate>CORA</LicensePlate>
                  <ShortName/>
                  <Inactive>true</Inactive>
                  <CanBusConnection>true</CanBusConnection>
                  <VehicleProfile>
                     <ProfileName>Profil Adampol</ProfileName>
                     <ProfileDescription>This is the default OBC profile</ProfileDescription>
                     <IsDefaultProfile>true</IsDefaultProfile>
                     <ProfileType>COMMUNICATION_PROFILE</ProfileType>
                     <ProfileId>1</ProfileId>
                  </VehicleProfile>
                  <VehicleTransicsID>1</VehicleTransicsID>
                  <LastTrailerCode/>
                  <Modified>2017-11-27T20:30:55.64</Modified>
                  <CurrentKms>100</CurrentKms>
                  <FuelLevel>29</FuelLevel>
                  <FuelLevelIndex xsi:nil="true"/>
                  <RefrigeratorIndex xsi:nil="true"/>
                  <Position>
                     <Longitude>2.8946333333333336</Longitude>
                     <Latitude>50.869583333333331</Latitude>
                     <AddressInfo/>
                     <DistanceFromCapitol>28.4km NW Od Lille</DistanceFromCapitol>
                     <DistanceFromLargeCity>2.2km N Od Ieper</DistanceFromLargeCity>
                     <DistanceFromSmallCity>0.9km NW Od Sint-Jan</DistanceFromSmallCity>
                     <DistanceFromPointOfInterest/>
                     <CountryCode>B</CountryCode>
                     <Heading>0</Heading>
                     <LocationSource xsi:nil="true"/>
                  </Position>
                  <Speed>0</Speed>
                  <Activity>
                     <ID>130</ID>
                     <Name>Standstill</Name>
                  </Activity>
                  <ActivityCompleted>false</ActivityCompleted>
                  <ObcInfo>
                     <SoftwareBehaviour>2008</SoftwareBehaviour>
                     <SoftwareVersion>2704</SoftwareVersion>
                     <InstructionSetVersion>9112</InstructionSetVersion>
                     <Planningfeatures>
                        <Enable_Trips>true</Enable_Trips>
                        <Enable_Jobs>false</Enable_Jobs>
                        <Enable_Places>true</Enable_Places>
                        <Enable_Products>true</Enable_Products>
                     </Planningfeatures>
                     <UpdateProgress>4</UpdateProgress>
                     <ResponseImage>Zdalna aktualizacja ukonczona</ResponseImage>
                     <IBC>1</IBC>
                     <ModemChannelID/>
                     <DeviceType>TX_MAX</DeviceType>
                  </ObcInfo>
                  <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>
                     <PrevETA xsi:nil="true"/>
                     <ETAStatus>ABORTED</ETAStatus>
                     <DistanceETA>0</DistanceETA>
                     <ETA xsi:nil="true"/>
                     <PositionInfoDestination>3.8km W Od Kobylany</PositionInfoDestination>
                  </ETAInfo>
                  <TemperatureInfoList>
                     <TemperatureInfoItem>
                        <Name>Temperature 1</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 2</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 3</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 4</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 5</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 6</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                  </TemperatureInfoList>
                  <InfoFieldList>
                     <InfoFieldItem>
                        <Name>Info 1</Name>
                        <Value>01;Pusty</Value>
                        <DateLastUpdate>2015-07-15T13:57:48</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 2</Name>
                        <Value>02;Dingolfing - Lapy 20</Value>
                        <DateLastUpdate>2015-03-03T08:32:52</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 3</Name>
                        <Value>03;</Value>
                        <DateLastUpdate>2015-03-06T15:55:46</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 4</Name>
                        <Value>04;</Value>
                        <DateLastUpdate>2015-03-03T18:44:34</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 5</Name>
                        <Value/>
                        <DateLastUpdate xsi:nil="true"/>
                     </InfoFieldItem>
                  </InfoFieldList>
                  <UpdateDatesList>
                     <UpdateDatesItem>
                        <Name>Last status</Name>
                        <DateLastUpdate>2016-07-12T08:53:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Codriver</Name>
                        <DateLastUpdate>2017-11-27T20:26:01</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Driver</Name>
                        <DateLastUpdate>2016-07-12T08:53:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>ETA</Name>
                        <DateLastUpdate>2010-07-23T21:31:25</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Fuellevel</Name>
                        <DateLastUpdate>2016-07-12T08:53:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Maintenance</Name>
                        <DateLastUpdate>2010-06-22T08:43:02</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Position</Name>
                        <DateLastUpdate>2017-08-11T16:56:44</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Trailer detected</Name>
                        <DateLastUpdate>2017-08-11T16:56:44</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>GPRS</Name>
                        <DateLastUpdate>2017-11-27T20:25:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>FTP</Name>
                        <DateLastUpdate>2016-01-28T17:22:09</DateLastUpdate>
                     </UpdateDatesItem>
                  </UpdateDatesList>
                  <Maintenance>1000</Maintenance>
                  <Remaining>900</Remaining>
                  <GSMNumberDevice>+324928998760</GSMNumberDevice>
                  <HomebaseNumber>+32490009451</HomebaseNumber>
                  <LastAlarmMessage>
                     <AlarmMessageTransicsID>38669511</AlarmMessageTransicsID>
                     <CreationDate>2017-11-27T20:26:01</CreationDate>
                     <Message>Wersja IS zostala zaktualizowana z 0 0 do 3813 9112.</Message>
                     <AlarmMessageType>VERSIONUPDATE</AlarmMessageType>
                  </LastAlarmMessage>
                  <AutoFilter>BIAHT53/BIAJK53</AutoFilter>
                  <CurrentTrip>
                     <TripID>323557/DIN LAP CW10_2/2015-03-03 08:26:00.47</TripID>
                     <DriverDisplay>Dingolfing - Lapy 2015-03-03 00:00:00.0</DriverDisplay>
                     <StartTime>2015-03-03T08:32:00</StartTime>
                     <TripStatus>Started</TripStatus>
                  </CurrentTrip>
                  <FormattedName>CORA</FormattedName>
               </InterfaceVehicleResult_V11>
            </Vehicles>
         </Get_Vehicles_V11Result>
      </Get_Vehicles_V11Response>
   </soap:Body>
</soap:Envelope>



мне отсюда много чего получить надо... помогите разобрать на примере получения
Код: xml
1.
2.
3.
4.
5.
                  <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>



sql server 2014
спасибо
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560712
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DECLARE @XML  XML = ' <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>
                      </ETAInfo>' 

 
SELECT
  Longitude = @XML.value('(ETAInfo/PositionDestination/Longitude)[1]', 'NUMERIC (20,10)')   
, Latitude = @XML.value('(ETAInfo/PositionDestination/Latitude)[1]', 'NUMERIC (20,10)')   
  
  
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560715
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
DECLARE @XML  XML = ' <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>
                      </ETAInfo>' 

 

SELECT
  Longitude = b.value('(./Longitude)[1]', 'NUMERIC (20,10)')   
, Latitude = b.value('(./Latitude)[1]', 'NUMERIC (20,10)')   
FROM 
  @XML.nodes('ETAInfo/PositionDestination') a(b)  
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560716
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'NUMERIC (20, 15 )'
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560717
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по вопросу, ему нужно из всей портянки SOAP как раз-таки получить
Код: sql
1.
2.
3.
4.
5.
6.
7.
DECLARE @result  XML = ' <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>
                      </ETAInfo>'
SELECT @result AS [xml]
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560720
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile, видимо, ТС хочет таки разобрать XML под спойлером, а кусок вытащил для примера.

sandist, скорее всего у вас с неймспейсами трудности.
Вот пример (XML из под спойлера в переменной):

Код: sql
1.
2.
3.
WITH XMLNAMESPACES (DEFAULT 'http://transics.org')  
select  @xml.value('(//ETAInfo/PositionDestination/Longitude)[1]', 'nvarchar(100)') as Longitude 
    ,   @xml.value('(//ETAInfo/PositionDestination/Latitude)[1]', 'nvarchar(100)') as Latitude
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560722
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну покуда автор не пояснил более конкретно, я предположил, что он путается в .nodes .value или вообще о них не знает.
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560731
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати оно разваливается на xsi:nil

надо в неймспейсы вписать

xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"

или в тушке хтмл их на что-то зареплейсить
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560733
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile,

прошу прощения, инет пропал...
я выложил сначала полный запрос(ответ от сервера) соап, потом показал какие данные я пытаюсь получить.. мне нужны координаты
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560736
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
declare @doc = 'вышеуказанная портянка'
,@iDoc int

exec sp_xml_preparedocument @iDoc output, @Doc, '<root xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />'

select Longitude
from OPENXML(@iDoc,'soap:Envelope/soap:Body/Get_Vehicles_V11Result/Vehicles/InterfaceVehicleResult_V11/ETAInfo/PositionDestination')
with
( 
    Longitude [varchar](50) 'Longitude'
)

EXEC sp_xml_removedocument @iDoc
GO



Вот мой запрос, пытаюсь получить, но блин, не могу никак добиться результата
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560738
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Портянка внутри. Обрати внимание на неймспейс для нуллов.


Код: sql
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.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
DECLARE @XML XML = 

 '<Get_Vehicles_V11Response xmlns="http://transics.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
         <Get_Vehicles_V11Result Executiontime="1.0070761">
            <Errors/>
            <Warnings/>
            <Vehicles>
               <InterfaceVehicleResult_V11>
                  <VehicleFleetNumber>???TX-Social???</VehicleFleetNumber>
                  <Groups>
                     <TxConnectGroups>
                        <ConnectGroups>
                           <ConnectGroup>
                              <Group>Pojazdy wlasne ADAMPOL</Group>
                              <SubGroup>PRZEMEK</SubGroup>
                           </ConnectGroup>
                           <ConnectGroup>
                              <Group>Pojazdy wlasne ADAMPOL</Group>
                              <SubGroup>ALL</SubGroup>
                           </ConnectGroup>
                           <ConnectGroup>
                              <Group>MAN</Group>
                              <SubGroup>ADAMPOL</SubGroup>
                           </ConnectGroup>
                           <ConnectGroup>
                              <Group>TACHOGRAF</Group>
                              <SubGroup>CYFROWY</SubGroup>
                           </ConnectGroup>
                        </ConnectGroups>
                     </TxConnectGroups>
                     <SocialGroup>
                        <StartDate xsi:nil="true"/>
                        <EndDate xsi:nil="true"/>
                     </SocialGroup>
                  </Groups>
                  <ExtraTruckInfo>
                     <Country>FR</Country>
                     <InDuty xsi:nil="true"/>
                     <OutDuty xsi:nil="true"/>
                     <Category>3</Category>
                     <Make>???TX-Social???</Make>
                     <Statuses>
                        <Company>false</Company>
                        <Rental>false</Rental>
                        <Loan>false</Loan>
                        <Truck>false</Truck>
                        <LightVehicle>false</LightVehicle>
                        <DigitalTacho>false</DigitalTacho>
                        <TractorUnit>false</TractorUnit>
                        <Coach>false</Coach>
                     </Statuses>
                  </ExtraTruckInfo>
                  <VehicleID>1</VehicleID>
                  <VehicleExternalCode>Kordala P.</VehicleExternalCode>
                  <LicensePlate>CORA</LicensePlate>
                  <ShortName/>
                  <Inactive>true</Inactive>
                  <CanBusConnection>true</CanBusConnection>
                  <VehicleProfile>
                     <ProfileName>Profil Adampol</ProfileName>
                     <ProfileDescription>This is the default OBC profile</ProfileDescription>
                     <IsDefaultProfile>true</IsDefaultProfile>
                     <ProfileType>COMMUNICATION_PROFILE</ProfileType>
                     <ProfileId>1</ProfileId>
                  </VehicleProfile>
                  <VehicleTransicsID>1</VehicleTransicsID>
                  <LastTrailerCode/>
                  <Modified>2017-11-27T20:30:55.64</Modified>
                  <CurrentKms>100</CurrentKms>
                  <FuelLevel>29</FuelLevel>
                  <FuelLevelIndex xsi:nil="true"/>
                  <RefrigeratorIndex xsi:nil="true"/>
                  <Position>
                     <Longitude>2.8946333333333336</Longitude>
                     <Latitude>50.869583333333331</Latitude>
                     <AddressInfo/>
                     <DistanceFromCapitol>28.4km NW Od Lille</DistanceFromCapitol>
                     <DistanceFromLargeCity>2.2km N Od Ieper</DistanceFromLargeCity>
                     <DistanceFromSmallCity>0.9km NW Od Sint-Jan</DistanceFromSmallCity>
                     <DistanceFromPointOfInterest/>
                     <CountryCode>B</CountryCode>
                     <Heading>0</Heading>
                     <LocationSource xsi:nil="true"/>
                  </Position>
                  <Speed>0</Speed>
                  <Activity>
                     <ID>130</ID>
                     <Name>Standstill</Name>
                  </Activity>
                  <ActivityCompleted>false</ActivityCompleted>
                  <ObcInfo>
                     <SoftwareBehaviour>2008</SoftwareBehaviour>
                     <SoftwareVersion>2704</SoftwareVersion>
                     <InstructionSetVersion>9112</InstructionSetVersion>
                     <Planningfeatures>
                        <Enable_Trips>true</Enable_Trips>
                        <Enable_Jobs>false</Enable_Jobs>
                        <Enable_Places>true</Enable_Places>
                        <Enable_Products>true</Enable_Products>
                     </Planningfeatures>
                     <UpdateProgress>4</UpdateProgress>
                     <ResponseImage>Zdalna aktualizacja ukonczona</ResponseImage>
                     <IBC>1</IBC>
                     <ModemChannelID/>
                     <DeviceType>TX_MAX</DeviceType>
                  </ObcInfo>
                  <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>
                     <PrevETA xsi:nil="true"/>
                     <ETAStatus>ABORTED</ETAStatus>
                     <DistanceETA>0</DistanceETA>
                     <ETA xsi:nil="true"/>
                     <PositionInfoDestination>3.8km W Od Kobylany</PositionInfoDestination>
                  </ETAInfo>
                  <TemperatureInfoList>
                     <TemperatureInfoItem>
                        <Name>Temperature 1</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 2</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 3</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 4</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 5</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                     <TemperatureInfoItem>
                        <Name>Temperature 6</Name>
                        <Value xsi:nil="true"/>
                        <DateLastUpdate xsi:nil="true"/>
                     </TemperatureInfoItem>
                  </TemperatureInfoList>
                  <InfoFieldList>
                     <InfoFieldItem>
                        <Name>Info 1</Name>
                        <Value>01;Pusty</Value>
                        <DateLastUpdate>2015-07-15T13:57:48</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 2</Name>
                        <Value>02;Dingolfing - Lapy 20</Value>
                        <DateLastUpdate>2015-03-03T08:32:52</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 3</Name>
                        <Value>03;</Value>
                        <DateLastUpdate>2015-03-06T15:55:46</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 4</Name>
                        <Value>04;</Value>
                        <DateLastUpdate>2015-03-03T18:44:34</DateLastUpdate>
                     </InfoFieldItem>
                     <InfoFieldItem>
                        <Name>Info 5</Name>
                        <Value/>
                        <DateLastUpdate xsi:nil="true"/>
                     </InfoFieldItem>
                  </InfoFieldList>
                  <UpdateDatesList>
                     <UpdateDatesItem>
                        <Name>Last status</Name>
                        <DateLastUpdate>2016-07-12T08:53:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Codriver</Name>
                        <DateLastUpdate>2017-11-27T20:26:01</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Driver</Name>
                        <DateLastUpdate>2016-07-12T08:53:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>ETA</Name>
                        <DateLastUpdate>2010-07-23T21:31:25</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Fuellevel</Name>
                        <DateLastUpdate>2016-07-12T08:53:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Maintenance</Name>
                        <DateLastUpdate>2010-06-22T08:43:02</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Position</Name>
                        <DateLastUpdate>2017-08-11T16:56:44</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>Trailer detected</Name>
                        <DateLastUpdate>2017-08-11T16:56:44</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>GPRS</Name>
                        <DateLastUpdate>2017-11-27T20:25:46</DateLastUpdate>
                     </UpdateDatesItem>
                     <UpdateDatesItem>
                        <Name>FTP</Name>
                        <DateLastUpdate>2016-01-28T17:22:09</DateLastUpdate>
                     </UpdateDatesItem>
                  </UpdateDatesList>
                  <Maintenance>1000</Maintenance>
                  <Remaining>900</Remaining>
                  <GSMNumberDevice>+324928998760</GSMNumberDevice>
                  <HomebaseNumber>+32490009451</HomebaseNumber>
                  <LastAlarmMessage>
                     <AlarmMessageTransicsID>38669511</AlarmMessageTransicsID>
                     <CreationDate>2017-11-27T20:26:01</CreationDate>
                     <Message>Wersja IS zostala zaktualizowana z 0 0 do 3813 9112.</Message>
                     <AlarmMessageType>VERSIONUPDATE</AlarmMessageType>
                  </LastAlarmMessage>
                  <AutoFilter>BIAHT53/BIAJK53</AutoFilter>
                  <CurrentTrip>
                     <TripID>323557/DIN LAP CW10_2/2015-03-03 08:26:00.47</TripID>
                     <DriverDisplay>Dingolfing - Lapy 2015-03-03 00:00:00.0</DriverDisplay>
                     <StartTime>2015-03-03T08:32:00</StartTime>
                     <TripStatus>Started</TripStatus>
                  </CurrentTrip>
                  <FormattedName>CORA</FormattedName>
               </InterfaceVehicleResult_V11>
            </Vehicles>
         </Get_Vehicles_V11Result>
      </Get_Vehicles_V11Response>'
 
;WITH XMLNAMESPACES (DEFAULT 'http://transics.org')

SELECT  
   [Node]= b.query('.')
, Long =  b.value('(./Longitude)[1]', 'NUMERIC (20,15)') 
, Lat  =  b.value('(./Latitude)[1]', 'NUMERIC (20,15)') 
FROM 
  @XML.nodes('Get_Vehicles_V11Response/Get_Vehicles_V11Result/Vehicles/InterfaceVehicleResult_V11/ETAInfo/PositionDestination') a(b) 

...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560739
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Minamoto,
УРА! Сработало!
Код: sql
1.
2.
3.
WITH XMLNAMESPACES (DEFAULT 'http://transics.org')  
select  @xml.value('(//ETAInfo/PositionDestination/Longitude)[1]', 'nvarchar(100)') as Longitude 
    ,   @xml.value('(//ETAInfo/PositionDestination/Latitude)[1]', 'nvarchar(100)') as Latitude



в чем моя ошибка была?
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560742
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandist,
четко! очень помогли, спасибо большое
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560743
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandistMinamoto,
УРА! Сработало!
Код: sql
1.
2.
3.
WITH XMLNAMESPACES (DEFAULT 'http://transics.org')  
select  @xml.value('(//ETAInfo/PositionDestination/Longitude)[1]', 'nvarchar(100)') as Longitude 
    ,   @xml.value('(//ETAInfo/PositionDestination/Latitude)[1]', 'nvarchar(100)') as Latitude



в чем моя ошибка была?
Так я же написал - неймспейс забыли. У вас дефалтовый неймспейс прописан (обратите внимание, что не на первом уровне), вот на нем и валитесь. Я его указал, после этого проблем не стало. А вот если вы будете весь путь прописывать, то вам, как минимум, еще неймспейс для soap надо будет прописать.

Дока тут, читайте, чтобы подробнее разобраться: https://docs.microsoft.com/en-us/sql/relational-databases/xml/add-namespaces-to-queries-with-with-xmlnamespaces
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560745
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минамото, а поясни пожалуйста, почему в моем варианте с .nodes('путь к узлу') оно валится, а в твоем с

@xml.value('( // ETAInfo/PositionDestination/Latitude)[1]

всё ровненько?
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39560750
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cammomile, в этом варианте?

Cammomile
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
DECLARE @XML  XML = ' <ETAInfo>
                     <PositionDestination>
                        <Longitude>23.50945</Longitude>
                        <Latitude>52.040549999999996</Latitude>
                     </PositionDestination>
                      </ETAInfo>' 

 

SELECT
  Longitude = b.value('(./Longitude)[1]', 'NUMERIC (20,10)')   
, Latitude = b.value('(./Latitude)[1]', 'NUMERIC (20,10)')   
FROM 
  @XML.nodes('ETAInfo/PositionDestination') a(b)  



Если не указан в начале слэш, то он ищет с текущего узла XML, т.е. в данном случае с корня. Если указан одинарный - то с корня всегда, даже если текущий не корень. А если двойной, то с любого уровня:

Код: sql
1.
2.
3.
4.
5.
6.
7.
;WITH XMLNAMESPACES (DEFAULT 'http://transics.org')

SELECT
  Longitude = b.value('(./Longitude)[1]', 'NUMERIC (20,10)')   
, Latitude = b.value('(./Latitude)[1]', 'NUMERIC (20,10)')   
FROM 
  @XML.nodes('//ETAInfo/PositionDestination') a(b) 
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39562841
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему не работает так

Код: sql
1.
2.
3.
4.
5.
exec sp_xml_preparedocument @iDoc output, @Doc, '<root xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />'

;WITH XMLNAMESPACES (DEFAULT 'http://transics.org') 
select *
from OPENXML(@iDoc,'//InterfaceVehicleResult_V11/*',1) a1
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39562935
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandistа почему не работает так
Потому что в OPENXML неймспейсы задаются по-другому.
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39562936
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(они задаются в вызове sp_xml_preparedocument )
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39563050
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Просветите меня пожалуйста, несколько дней бьюсь и никак не могу получить результат...
У меня результат состоит из множества одинаковых блоков и мне нужно получить все значения.. я представляю это в виде таблицы. При указании @XML.value мне нужно указывать какое именно значение я получаю [1] или [2]... но я не знаю количества получаемых значений и притом кажется, что это неэффективно с точки зрения оптимизации... Я подумал, что используя OpenXML смогу получить нужные поля и представить их в виде таблицы наиболее эффективно... Но никак не могу получить необходимый результат. Буду очень признателен если кто-нибудь откликнется и напишет пару строк кода, которые покажут как именно это можно реализовать на моем примере. Я прочел документацию и все же не смог разобраться уже миллион разных комбинаций перебрал... помогите пожалуйста
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39563136
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandist,

Вот мое решение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
exec sp_xml_preparedocument @iDoc output, @Doc,  '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tran="http://transics.org"/>'

select distinct VehicleID, VehicleTransicsID, CurrentKms as Odometr, Speed
from OPENXML(@iDoc,'/soap:Envelope/soap:Body/tran:Get_Vehicles_V11Response/tran:Get_Vehicles_V11Result/tran:Vehicles/tran:InterfaceVehicleResult_V11/*',2) 
with ( VehicleID nvarchar(100) '../tran:VehicleID'
      ,VehicleTransicsID nvarchar(100) '../tran:VehicleTransicsID'
      --,Longitude nvarchar(100) '../tran:Longitude'
      --,Latitude nvarchar(100) '../tran:Latitude'
	  ,CurrentKms nvarchar(100) '../tran:CurrentKms'
	  ,Speed nvarchar(100) '../tran:Speed'
	  )



Так же помогла инфа https://social.msdn.microsoft.com/Forums/sqlserver/en-US/89a59302-c1fb-45a5-8c83-6bb159e18ba8/openxml-for-my-xml-does-not-get-the-result?forum=transactsql

Но почему-то данные выводятся с повторениями, каждая строка 24 раза, не понял почему?
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39563188
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandist,

та портянка xml что в вашем первом сообщении и ваш текущий запрос дают одну строку.
другую xml что ли пытаетесь обработать?
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39563254
Sandist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

ну xml тот же, только теги результатов повторяются для каждого запрошенного id
...
Рейтинг: 0 / 0
помогите разобрать XML
    #39563342
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sandistfelix_ff,

ну xml тот же, только теги результатов повторяются для каждого запрошенного idКакой ещё "запрошенный id"???
Выполняете запрос с вашим XML, получаете одну строку.
Что неправильного?, приведите описание данных, которые должны возвращаться вашим запросом.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите разобрать XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]