为什么在尝试读取XML文件时fs.readFile引发意外令牌的语法错误?

DᴀʀᴛʜVᴀᴅᴇʀ

尝试学习将XML转换为JSON,以便将一些旧的cURL命令转换为脚本,我已经阅读了一些问答并编写了以下模块:

fs = require('fs')
const xmlFle = require('./file.xml')
const parser = require('xml2json')

module.exports = fs.readFile(xmlFle, 'utf-8', (err, data) => {
  if (err) return `err: ${err}`
  try {
    const json = parser.toJson(data)
    console.log('to json ->', json)
  } catch (e) {
    return `Convert fail: ${e}`
  }
})

但由于某种原因我被抛出:

/path/to/file/file.xml:1
<Foo>
^

SyntaxError: Unexpected token '<'

仔细阅读了一些问答,我认为我的问题是由于在NodeJS中解析XML时fs来自Unexpected token <的设置但并不能防止该错误。

其他参考:

file.xml:

<Foo>
  <Mon>
    <Auth>326478326472347823</Auth>
    <Signal>foo</Signal>
  </Mon>
  <Feed>
    <Tag>biochemistry</Tag>
  </Feed>
</Foo>

我的实际转换没有问题:

const parser = require('xml2json')
const xml = `<Foo>
<Mon>
  <Auth>326478326472347823</Auth>
  <Signal>foo</Signal>
</Mon>
<Feed>
  <Tag>biochemistry</Tag>
</Feed>
</Foo>`
console.log('JSON output', parser.toJson(xml))

结果:

JSON output {"Foo":{"Mon":{"Auth":"326478326472347823","Signal":"foo"},"Feed":{"Tag":"biochemistry"}}}

为什么在尝试读取XML文件时出现错误?

洛根·迪瓦恩(Logan Devine)

您正在尝试require()一个XML文件,该文件执行XML的方式就像是JSON / JavaScript。

您需要将路径./file.xml作为字符串传递,但运行require('./file.xml')时会将其读取并将其视为代码。

更换require('./file.xml')'./file.xml'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么是“意外令牌附近的语法错误”?

来自分类Dev

为什么我有“意外的令牌语法错误”

来自分类Dev

从ajax调用函数时出现“语法错误:意外的令牌”

来自分类Dev

意外令牌'newline'附近的语法错误(安装XAlign时)

来自分类Dev

无法运行julia文件-语法错误接近意外的令牌

来自分类Dev

从JSON访问URL时,Angular获取语法错误:令牌':'是意外的令牌

来自分类Dev

编辑.bashrc文件后,Ubuntu bash出现错误“意外令牌'newline'附近的语法错误”

来自分类Dev

为什么<!-不引发语法错误?

来自分类Dev

尝试将HTML文件转换为包含套接字io的JavaScript时出现语法错误,SyntaxError:意外令牌<

来自分类Dev

Angularjs Flickr API语法错误:使用nojsoncallback = 1时出现意外令牌

来自分类Dev

Bash:使用Wgrib2时,语法错误接近意外的令牌`('

来自分类Dev

语法错误:使用renderToString(<RoutingContext {... renderProps} />时出现意外令牌<

来自分类Dev

Perl scipt:使用Expect模块生成bash命令时出现意外令牌的语法错误

来自分类Dev

Bash:使用Wgrib2时,语法错误接近意外的令牌`('

来自分类Dev

安装Yara时出现意外令牌附近的语法错误

来自分类Dev

Angularjs Flickr API语法错误:使用nojsoncallback = 1时出现意外令牌

来自分类Dev

执行 Karma 和 Jasmine 测试时收到“未捕获的语法错误:意外的令牌导入”

来自分类Dev

在节点 6 上构建 Docusaurus 时出现语法错误:意外令牌)

来自分类Dev

尝试读取已发送到我的应用程序的文件时,为什么在iOS设备上的OpenUrl函数中出现权限错误?

来自分类Dev

.bashrc:语法错误:文件意外结束

来自分类Dev

语法错误:意外的文件结尾

来自分类Dev

bash:语法错误:文件意外结束

来自分类Dev

语法错误:意外的文件结尾

来自分类Dev

.bashrc语法错误:文件意外结束

来自分类Dev

.bashrc:语法错误:文件意外结束

来自分类Dev

语法错误:'意外的文件结尾

来自分类Dev

语法错误,意外的文件结尾。

来自分类Dev

尝试添加平台时,Cordova引发语法错误

来自分类Dev

尝试生成随机Unicode时,语法错误“非法”令牌

Related 相关文章

  1. 1

    为什么是“意外令牌附近的语法错误”?

  2. 2

    为什么我有“意外的令牌语法错误”

  3. 3

    从ajax调用函数时出现“语法错误:意外的令牌”

  4. 4

    意外令牌'newline'附近的语法错误(安装XAlign时)

  5. 5

    无法运行julia文件-语法错误接近意外的令牌

  6. 6

    从JSON访问URL时,Angular获取语法错误:令牌':'是意外的令牌

  7. 7

    编辑.bashrc文件后,Ubuntu bash出现错误“意外令牌'newline'附近的语法错误”

  8. 8

    为什么<!-不引发语法错误?

  9. 9

    尝试将HTML文件转换为包含套接字io的JavaScript时出现语法错误,SyntaxError:意外令牌<

  10. 10

    Angularjs Flickr API语法错误:使用nojsoncallback = 1时出现意外令牌

  11. 11

    Bash:使用Wgrib2时,语法错误接近意外的令牌`('

  12. 12

    语法错误:使用renderToString(<RoutingContext {... renderProps} />时出现意外令牌<

  13. 13

    Perl scipt:使用Expect模块生成bash命令时出现意外令牌的语法错误

  14. 14

    Bash:使用Wgrib2时,语法错误接近意外的令牌`('

  15. 15

    安装Yara时出现意外令牌附近的语法错误

  16. 16

    Angularjs Flickr API语法错误:使用nojsoncallback = 1时出现意外令牌

  17. 17

    执行 Karma 和 Jasmine 测试时收到“未捕获的语法错误:意外的令牌导入”

  18. 18

    在节点 6 上构建 Docusaurus 时出现语法错误:意外令牌)

  19. 19

    尝试读取已发送到我的应用程序的文件时,为什么在iOS设备上的OpenUrl函数中出现权限错误?

  20. 20

    .bashrc:语法错误:文件意外结束

  21. 21

    语法错误:意外的文件结尾

  22. 22

    bash:语法错误:文件意外结束

  23. 23

    语法错误:意外的文件结尾

  24. 24

    .bashrc语法错误:文件意外结束

  25. 25

    .bashrc:语法错误:文件意外结束

  26. 26

    语法错误:'意外的文件结尾

  27. 27

    语法错误,意外的文件结尾。

  28. 28

    尝试添加平台时,Cordova引发语法错误

  29. 29

    尝试生成随机Unicode时,语法错误“非法”令牌

热门标签

归档