Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
XML usage - Specific example help
Message
From
12/08/2003 13:42:34
 
General information
Forum:
Visual FoxPro
Category:
XML, XSD
Miscellaneous
Thread ID:
00819328
Message ID:
00819488
Views:
8
Thanks Sergey,

Your repsonse is above and beyond my expectations. I sensed I might have to parse it with code similar to what you have returned to me (yours is more elegant than mine would have been), but I wanted to avoid coding where the built in tools might have been more efficient.

Thanks again!

Andrew

>Hi Andrew,
>
>The XMLTOCURSOR() is designed to process XML created by CURSORTOXML() or with structure similar to it. I don'y think XMLADAPTER() would accept this XML either. You can use XMLDOM or VFP code to parse it. Here's the sample VFP code to do that.
TEXT TO cXML NOSHOW
><ntcipMessage source="amherst-qual" lat="38645000" lon="121485000" type="obs" dataTime="20030731T153150">
><value name="essSurfaceStatus.1">3</value>
><value name="essSurfaceTemperature.1">360</value>
><value name="essSurfaceWaterDepth.1">4</value>
><value name="essSurfaceSalinity.1">655350</value>
><value name="essPavementTemperature.1">360</value>
><value name="essSurfaceConductivity.1">0</value>
><value name="essSurfaceFreezePoint.1">1001</value>
><value name="essSurfaceBlackIceSignal.1">0</value>
><value name="essPavementSensorError.1">2</value>
><value name="essSurfaceStatus.2">3</value>
><value name="essSurfaceTemperature.2">344</value>
><value name="essSurfaceWaterDepth.2">4</value>
><value name="essSurfaceSalinity.2">655350</value>
><value name="essPavementTemperature.2">344</value>
><value name="essSurfaceConductivity.2">0</value>
><value name="essSurfaceFreezePoint.2">1001</value>
><value name="essSurfaceBlackIceSignal.2">0</value>
><value name="essPavementSensorError.2">2</value>
><value name="essAirTemperature.1">181</value>
><value name="essAtmosphericPressure.0">10172</value>
><value name="essAvgWindDirection.0">14</value>
><value name="essAvgWindSpeed.0">19</value>
><value name="essMaxWindGustSpeed.0">43</value>
><value name="essMaxWindGustDir.0">20</value>
><value name="essRelativeHumidity.0">69</value>
><value name="essPrecipRate.0">0</value>
><value name="essSnowfallAccumRate.0">65535</value>
><value name="essPrecipitationOneHour.0">0</value>
><value name="essPrecipitationThreeHours.0">0</value>
><value name="essPrecipitationSixHours.0">0</value>
><value name="essPrecipitationTwelveHours.0">0</value>
><value name="essPrecipitation24Hours.0">0</value>
><value name="essSolarRadiation.0">65535</value>
><value name="essTotalSun.0">1441</value>
><value name="essSpotWindDirection.0">23</value>
><value name="essSpotWindSpeed.0">22</value>
><value name="essWindSituation.0">2</value>
><value name="essWetbulbTemp.0">142</value>
><value name="essDewpointTemp.0">126</value>
><value name="essMaxTemp.0">239</value>
><value name="essMinTemp.0">119</value>
><value name="essWaterDepth.0">65535</value>
><value name="essAdjacentSnowDepth.0">3001</value>
><value name="essRoadwaySnowDepth.0">3001</value>
><value name="essRoadwaySnowPackDepth.0">3001</value>
><value name="essPrecipYesNo.0">2</value>
><value name="essPrecipSituation.0">3</value>
><value name="essIceThickness.0">65535</value>
><value name="essPrecipitationStartTime.0">1059618540</value>
><value name="essPrecipitationEndTime.0">1059618600</value>
><value name="essVisibility.0">17703</value>
><value name="essVisibilitySituation.0">2</value>
><value name="essSubSurfaceTemperature.1">238</value>
><value name="essSubSurfaceMoisture.1">101</value>
><value name="essSubSurfaceSensorError.1">2</value>
><value name="essSubSurfaceTemperature.2">1001</value>
><value name="essSubSurfaceMoisture.2">101</value>
><value name="essSubSurfaceSensorError.2">2</value>
><value name="essSubSurfaceTemperature.3">1001</value>
><value name="essSubSurfaceMoisture.3">101</value>
><value name="essSubSurfaceSensorError.3">2</value>
><value name="essSubSurfaceTemperature.4">1001</value>
><value name="essSubSurfaceMoisture.4">101</value>
><value name="essSubSurfaceSensorError.4">2</value>
><value name="essSubSurfaceTemperature.5">1001</value>
><value name="essSubSurfaceMoisture.5">101</value>
><value name="essSubSurfaceSensorError.5">2</value>
><value name="essSubSurfaceTemperature.6">1001</value>
><value name="essSubSurfaceMoisture.6">101</value>
><value name="essSubSurfaceSensorError.6">2</value>
><value name="essSubSurfaceTemperature.7">1001</value>
><value name="essSubSurfaceMoisture.7">101</value>
><value name="essSubSurfaceSensorError.7">2</value>
><value name="essSubSurfaceTemperature.8">1001</value>
><value name="essSubSurfaceMoisture.8">101</value>
><value name="essSubSurfaceSensorError.8">2</value>
><value name="essSubSurfaceTemperature.9">1001</value>
><value name="essSubSurfaceMoisture.9">101</value>
><value name="essSubSurfaceSensorError.9">2</value>
><value name="essSubSurfaceTemperature.10">1001</value>
><value name="essSubSurfaceMoisture.10">101</value>
><value name="essSubSurfaceSensorError.10">2</value>
><value name="essSubSurfaceTemperature.11">1001</value>
><value name="essSubSurfaceMoisture.11">101</value>
><value name="essSubSurfaceSensorError.11">2</value>
><value name="essSubSurfaceTemperature.12">1001</value>
><value name="essSubSurfaceMoisture.12">101</value>
><value name="essSubSurfaceSensorError.12">2</value>
><value name="essSubSurfaceTemperature.13">1001</value>
><value name="essSubSurfaceMoisture.13">101</value>
><value name="essSubSurfaceSensorError.13">2</value>
><value name="essSubSurfaceTemperature.14">1001</value>
><value name="essSubSurfaceMoisture.14">101</value>
><value name="essSubSurfaceSensorError.14">2</value>
><value name="essSubSurfaceTemperature.15">1001</value>
><value name="essSubSurfaceMoisture.15">101</value>
><value name="essSubSurfaceSensorError.15">2</value>
><value name="essSubSurfaceTemperature.16">1001</value>
><value name="essSubSurfaceMoisture.16">101</value>
><value name="essSubSurfaceSensorError.16">2</value>
><value name="essSubSurfaceTemperature.17">1001</value>
><value name="essSubSurfaceMoisture.17">0</value>
><value name="essSubSurfaceSensorError.17">0</value>
><value name="essSubSurfaceTemperature.18">1001</value>
><value name="essSubSurfaceMoisture.18">0</value>
><value name="essSubSurfaceSensorError.18">0</value>
><value name="essSubSurfaceTemperature.19">1001</value>
><value name="essSubSurfaceMoisture.19">0</value>
><value name="essSubSurfaceSensorError.19">0</value>
><value name="essSubSurfaceTemperature.20">1001</value>
><value name="essSubSurfaceMoisture.20">0</value>
><value name="essSubSurfaceSensorError.20">0</value>
><value name="essSubSurfaceTemperature.21">1001</value>
><value name="essSubSurfaceMoisture.21">0</value>
><value name="essSubSurfaceSensorError.21">0</value>
></ntcipMessage>
>ENDTEXT
>
>CREATE CURSOR crsXml (ItemName C(32), ItemValue I)
>SCATTER NAME oRec
>DIMENSION laXMlLines[1]
>ALINES(laXMlLines, cXml)
>FOR i=2 TO ALEN(laXMlLines)-1
>	oRec.ItemName = STREXTRACT(laXMlLines[i], ["], ["])
>	oRec.ItemValue = VAL(STREXTRACT(laXMlLines[i], [>], [<]))
>	INSERT INTO crsXml FROM NAME oRec
>ENDFOR
>
>< snip >
On a CLEAR day you can see forever.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform