功能说明
用小型状态机把标签、文本与属性拆分为词元,构建树后映射为 JSON。重复的同名兄弟元素归并成数组,属性加前缀以与子元素区分。
运行方式
node xml-to-json.mjs data.xml
预期输出
对
{
"user": {
"@id": "7",
"role": ["admin", "dev"]
}
}
限制
不精确处理命名空间、CDATA 与混合内容;同名重复元素仅在第二次出现时才成为数组。示例含完整转换实现与测试,可本地复现核对。
本译文依据英文原文完整重写,包含功能说明、运行方式与真实预期输出,供中文读者对照英文原稿阅读;示例代码与命令与英文版本严格一致,可在本地按运行方式复现并逐项核对结果。当前实现覆盖最常见的使用路径,超出上文限制边界的场景需要额外设计与实现;若用于生产,请先补充输入校验、错误处理与日志,再结合自身环境调整依赖版本。