Iof.DataStandard.Parser
1.4.1
dotnet add package Iof.DataStandard.Parser --version 1.4.1
NuGet\Install-Package Iof.DataStandard.Parser -Version 1.4.1
<PackageReference Include="Iof.DataStandard.Parser" Version="1.4.1" />
paket add Iof.DataStandard.Parser --version 1.4.1
#r "nuget: Iof.DataStandard.Parser, 1.4.1"
// Install Iof.DataStandard.Parser as a Cake Addin #addin nuget:?package=Iof.DataStandard.Parser&version=1.4.1 // Install Iof.DataStandard.Parser as a Cake Tool #tool nuget:?package=Iof.DataStandard.Parser&version=1.4.1
Iof.DataStandard.Parser
Description
Iof.DataStandard.Parser
is a NuGet package designed to parse XML streams following the International Orienteering
Federation's Data Standard. The package supports both version 2.0.3 and 3 of the IOF Data Standard. Furthermore, it
provides support for multiple orienteering timekeeping systems, including those that use EMIT and SportIdent.
Upon parsing, this package returns an OrienteeringResult
object which encapsulates detailed information about the
orienteering event, classes, and individual results.
Installation
To install the Iof.DataStandard.Parser
NuGet package, use the following command:
Install-Package Iof.DataStandard.Parser
Usage
Here's a basic usage example:
using Iof.DataStandard.Parser;
using System.IO;
Stream xmlStream = ...; // Obtain your XML stream from your data source.
try
{
OrienteeringResult result = xmlStream.ParseFromIofXml();
// Process the result as needed.
}
catch(InvalidFileVersionException ex)
{
Console.WriteLine(ex.Message);
}
Return Structure
The main return object of the parsing function is OrienteeringResult which contains details about the event, class results, and person results. Here's a breakdown of its structure:
OrienteeringResult
- EventId: Identifier of the event.
- EventName: Name of the event.
- ClassResults: List containing results for each class.
ClassResult
- ClassId: Identifier of the class.
- ClassName: Name of the class.
- CourseId: Identifier of the course.
- CourseName: Name of the course.
- CourseLength: Length of the course.
- ControlsCount: Number of controls on the course.
- PersonResults: List containing results for each person in the class.
PersonResult
- PersonFamilyName: Last name of the person.
- PersonGivenName: First name of the person.
- ClubName: Name of the club the person belongs to.
- StartTime: Start time of the person's race.
- Time: Total time taken by the person.
- Difference: Time difference compared to the leader.
- Status: Status of the person's result (e.g., Finished, Disqualified).
- Position: Ranking position.
- ControlCard: Control card details.
- SplitTimes: List containing split times for each control.
Features
- Robust XML stream parsing following the IOF Data Standard.
- Support for multiple versions of the IOF Data Standard.
- Support for most orienteering timekeeping systems.
- Detailed return structure capturing comprehensive results data.
Exceptions
InvalidFileVersionException
: Thrown when the file being parsed is not a valid IOF Data Standard format.
Contributing
If you find any issues or would like to contribute to the development of this package, please open an issue or submit a pull request on the GitHub repository.
License
This project is licensed under the MIT License. See the LICENSE file for more information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.4.1 | 239 | 5/15/2024 | |
1.4.0 | 83 | 5/15/2024 | |
1.3.1 | 254 | 2/5/2024 | |
1.3.0 | 106 | 2/5/2024 | |
1.2.3 | 137 | 2/4/2024 | |
1.2.2 | 113 | 2/4/2024 | |
1.2.1 | 117 | 2/4/2024 | |
1.2.0 | 116 | 2/4/2024 | |
1.1.2 | 121 | 2/4/2024 | |
1.1.1 | 245 | 1/6/2024 | |
1.0.1 | 331 | 11/27/2023 | |
1.0.0 | 166 | 11/27/2023 | |
0.0.4-alpha | 190 | 10/17/2023 | |
0.0.2 | 199 | 10/16/2023 |