#xml #xml-parser #fitness #garmin #training #center #file-format

tcx

读取TCX(Garmin Training Center数据库XML)文件

4个版本

0.9.3 2021年10月18日
0.9.2 2021年4月18日
0.9.1 2021年3月25日
0.9.0 2021年3月23日

#9 in #fitness

MIT许可协议

115KB
368 代码行

crates.io

tcx

使用Rust编写的Training Center XML (TCX)解析器。TCX是一种基于XML的文件格式,用于交换跑步、骑自行车等活动中的健身追踪信息。它建立在Rust的serde反序列化框架之上。

示例

use tcx;

use std::io::BufReader;
use std::fs::File;

fn main() {
    let result = crate::tcx::read_file("tests/20210119_run_garmin_fenix6.tcx");
    let activities = result.activities.unwrap();

    for activity in activities.activities {
        for lap in activity.laps {
            for track in lap.tracks {
                for trackpoint in track.trackpoints {
                    ...
                }
            }
        }
    }
}

当前状态

目前可以解析几个示例TCX文件,特别是跑步和自行车活动的文件,但尚未实现整个规范。

修订历史

  • 0.9.3 - 公开了所有枚举和结构体,并添加了一些特质以简化使用。
  • 0.9.2 - 改变了返回类型,以便将错误传递回调用者。
  • 0.9.1 - 添加了从扩展字段读取速度和功率数据的功能,并从规范中提取了更多结构。
  • 0.9.0 - 初次发布。成功解析了来自Garmin Connect的几个示例文件,但尚未实现整个规范。

许可协议

本项目采用MIT许可协议

依赖项

~2–3MB
~62K SLoC