Last active
September 22, 2020 21:52
-
-
Save DaniilVysotskiy/d3151ac8c2bd5fe934ab6c95b42dc53f to your computer and use it in GitHub Desktop.
Flight plan parser: .pln -> waypoints string
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<SimBase.Document Type="AceXML" version="1,0"> | |
<Descr>AceXML Document</Descr> | |
<FlightPlan.FlightPlan> | |
<Title>UWWW to UUWW</Title> | |
<FPType>IFR</FPType> | |
<RouteType>HighAlt</RouteType> | |
<CruisingAlt>33000</CruisingAlt> | |
<DepartureID>UWWW</DepartureID> | |
<DepartureLLA>N53° 30' 04.00",E050° 09' 14.00",+000477.00</DepartureLLA> | |
<DestinationID>UUWW</DestinationID> | |
<DestinationLLA>N55° 35' 57.00",E037° 16' 23.00",+000685.00</DestinationLLA> | |
<Descr>UWWW, UUWW</Descr> | |
<DeparturePosition>1</DeparturePosition> | |
<DepartureName>SAMARA/KURUMOCH</DepartureName> | |
<DestinationName>MOSCOW/VNUKOVO</DestinationName> | |
<AppVersion> | |
<AppVersionMajor>10</AppVersionMajor> | |
<AppVersionBuild>61637</AppVersionBuild> | |
</AppVersion> | |
<ATCWaypoint id="UWWW"> | |
<ATCWaypointType>Airport</ATCWaypointType> | |
<WorldPosition>N53° 30' 04.00",E050° 09' 14.00",+000477.00</WorldPosition> | |
<ICAO> | |
<ICAOIdent>UWWW</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="DW"> | |
<ATCWaypointType>NDB</ATCWaypointType> | |
<WorldPosition>N54° 02' 28.00",E049° 10' 42.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>DW</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="BMK"> | |
<ATCWaypointType>VOR</ATCWaypointType> | |
<WorldPosition>N54° 15' 46.70",E048° 13' 31.79",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>BMK</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="GOTUN"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N54° 32' 18.00",E047° 24' 59.99",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>GOTUN</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="BT"> | |
<ATCWaypointType>NDB</ATCWaypointType> | |
<WorldPosition>N54° 49' 00.00",E046° 34' 53.99",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>BT</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="BARUP"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N55° 19' 23.99",E044° 48' 34.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>BARUP</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="MB"> | |
<ATCWaypointType>NDB</ATCWaypointType> | |
<WorldPosition>N55° 35' 39.99",E043° 46' 50.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>MB</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="GINOT"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N55° 33' 42.00",E043° 18' 28.99",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>GINOT</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="RELTO"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N55° 12' 47.99",E039° 42' 47.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>RELTO</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="UUWW"> | |
<ATCWaypointType>Airport</ATCWaypointType> | |
<WorldPosition>N55° 35' 57.00",E037° 16' 23.00",+000685.00</WorldPosition> | |
<ICAO> | |
<ICAOIdent>UUWW</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
</FlightPlan.FlightPlan> | |
</SimBase.Document> | |
<script id="jsbin-javascript"> | |
const dataToParse = document.body.getElementsByTagName('FlightPlan.FlightPlan')[0]; | |
const waypointsList = dataToParse.getElementsByTagName('atcwaypoint'); | |
const waypointsArr = Array.from(waypointsList); | |
const waypointsString = waypointsArr.map(node => node.id).join(' '); | |
document.write('<br><br>'+waypointsString); | |
alert(waypointsString); | |
</script> | |
<script id="jsbin-source-html" type="text/html"><?xml version="1.0" encoding="UTF-8"?> | |
<SimBase.Document Type="AceXML" version="1,0"> | |
<Descr>AceXML Document</Descr> | |
<FlightPlan.FlightPlan> | |
<Title>UWWW to UUWW</Title> | |
<FPType>IFR</FPType> | |
<RouteType>HighAlt</RouteType> | |
<CruisingAlt>33000</CruisingAlt> | |
<DepartureID>UWWW</DepartureID> | |
<DepartureLLA>N53° 30' 04.00",E050° 09' 14.00",+000477.00</DepartureLLA> | |
<DestinationID>UUWW</DestinationID> | |
<DestinationLLA>N55° 35' 57.00",E037° 16' 23.00",+000685.00</DestinationLLA> | |
<Descr>UWWW, UUWW</Descr> | |
<DeparturePosition>1</DeparturePosition> | |
<DepartureName>SAMARA/KURUMOCH</DepartureName> | |
<DestinationName>MOSCOW/VNUKOVO</DestinationName> | |
<AppVersion> | |
<AppVersionMajor>10</AppVersionMajor> | |
<AppVersionBuild>61637</AppVersionBuild> | |
</AppVersion> | |
<ATCWaypoint id="UWWW"> | |
<ATCWaypointType>Airport</ATCWaypointType> | |
<WorldPosition>N53° 30' 04.00",E050° 09' 14.00",+000477.00</WorldPosition> | |
<ICAO> | |
<ICAOIdent>UWWW</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="DW"> | |
<ATCWaypointType>NDB</ATCWaypointType> | |
<WorldPosition>N54° 02' 28.00",E049° 10' 42.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>DW</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="BMK"> | |
<ATCWaypointType>VOR</ATCWaypointType> | |
<WorldPosition>N54° 15' 46.70",E048° 13' 31.79",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>BMK</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="GOTUN"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N54° 32' 18.00",E047° 24' 59.99",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>GOTUN</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="BT"> | |
<ATCWaypointType>NDB</ATCWaypointType> | |
<WorldPosition>N54° 49' 00.00",E046° 34' 53.99",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>BT</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="BARUP"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N55° 19' 23.99",E044° 48' 34.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>BARUP</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="MB"> | |
<ATCWaypointType>NDB</ATCWaypointType> | |
<WorldPosition>N55° 35' 39.99",E043° 46' 50.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>MB</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="GINOT"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N55° 33' 42.00",E043° 18' 28.99",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>GINOT</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="RELTO"> | |
<ATCWaypointType>Intersection</ATCWaypointType> | |
<WorldPosition>N55° 12' 47.99",E039° 42' 47.00",+000000.00</WorldPosition> | |
<ICAO> | |
<ICAORegion>KK</ICAORegion> | |
<ICAOIdent>RELTO</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
<ATCWaypoint id="UUWW"> | |
<ATCWaypointType>Airport</ATCWaypointType> | |
<WorldPosition>N55° 35' 57.00",E037° 16' 23.00",+000685.00</WorldPosition> | |
<ICAO> | |
<ICAOIdent>UUWW</ICAOIdent> | |
</ICAO> | |
</ATCWaypoint> | |
</FlightPlan.FlightPlan> | |
</SimBase.Document> | |
</script> | |
<script id="jsbin-source-javascript" type="text/javascript">const dataToParse = document.body.getElementsByTagName('FlightPlan.FlightPlan')[0]; | |
const waypointsList = dataToParse.getElementsByTagName('atcwaypoint'); | |
const waypointsArr = Array.from(waypointsList); | |
const waypointsString = waypointsArr.map(node => node.id).join(' '); | |
document.write('<br><br>'+waypointsString); | |
alert(waypointsString);</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const dataToParse = document.body.getElementsByTagName('FlightPlan.FlightPlan')[0]; | |
const waypointsList = dataToParse.getElementsByTagName('atcwaypoint'); | |
const waypointsArr = Array.from(waypointsList); | |
const waypointsString = waypointsArr.map(node => node.id).join(' '); | |
document.write('<br><br>'+waypointsString); | |
alert(waypointsString); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment