【问题标题】:Is there a way to tell fast-xml-parser how to parse xml tags?有没有办法告诉 fast-xml-parser 如何解析 xml 标签?
【发布时间】:2022-07-10 11:13:05
【问题描述】:

我正在使用 fast-xml-parser 解析 XML。结果 JSON 如下所示:

{
    RecordingToken: '4dddcdf8-0a0b-42a7-ae6d-231d5d7b6c40',
    Source: {
      Name: 'camera 40',
      Location: 'New Recording - Source Location',
      Description: 'New Recording - Source Description',
      Address: 'http://XXX/onvif/device_service'
    },
    EarliestRecording: '2021-12-02T00:00:00.038235Z',
    LatestRecording: '2021-12-22T08:30:49.364918Z',
    Content: 'Recording',
    Track: [
      {
        TrackToken: '12160e7c-6d41-4eb4-820f-239179b3911a',
        TrackType: 'Video',
        Description: 'Video Track',
        DataFrom: '2021-12-08T00:00:00.036076Z',
        DataTo: '2021-12-22T08:30:49.364918Z'
      }
    ],
    RecordingStatus: 'Recording'
}

我的问题是这个对象不符合TS naming convention I am using。所有对象属性都需要有lowerCamelCase 样式。

有没有办法告诉 fast-xml-parser 我想在解析为 JSON 时更改 xml 标签的首字母? (RecordingToken->recordingToken)

【问题讨论】:

  • 目前不支持此功能。但是如果有很多用户在寻找这个功能,那么我们可以添加它。

标签: node.js fast-xml-parser


【解决方案1】:

Fast XML Parser 从 v4.0.9 开始支持 transformTagName 属性函数。使用此属性,您可以将标签名称转换为小写。

const options = {
  transformTagName: (tagName) => tagName.toLowerCase()
};
const parser = new XMLParser(options);
const output = parser.parse(xmlDataStr);

免责声明:我是 FXP 的作者

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多