我在一个local.xml文件中有一个xml响应,我需要在React中将其转换为JSON

我在一个local.xml文件中有一个xml响应,我需要在React中将其转换为JSON,json,xml,reactjs,readfile,xml-to-json,Json,Xml,Reactjs,Readfile,Xml To Json,我正在使用CreateReact应用程序构建一个简单的react应用程序,我需要从这个xml中读取数据并显示在UI中。我尝试了几乎所有的XML转换包,如xml2js、xmltojson流、XMLJS、xml2json,但都失败了。xml2js我已经尝试并将小xml转换为json,但当我尝试xml时失败,出现错误: Error: Unquoted attribute value Line: 0 Column: 40401 Char: & at error (sax.js:651)

我正在使用CreateReact应用程序构建一个简单的react应用程序,我需要从这个xml中读取数据并显示在UI中。我尝试了几乎所有的XML转换包,如xml2js、xmltojson流、XMLJS、xml2json,但都失败了。xml2js我已经尝试并将小xml转换为json,但当我尝试xml时失败,出现错误:

Error: Unquoted attribute value
Line: 0
Column: 40401
Char: &
    at error (sax.js:651)
    at strictFail (sax.js:677)
    at SAXParser.write (sax.js:1367)
    at Parser.exports.Parser.Parser.parseString (parser.js:323)
    at Parser.parseString (parser.js:5)
    at Object.<anonymous> (Sal.js:22)
    at __webpack_require__ (bootstrap ac9a14d02bd3405bc94c:555)
    at fn (bootstrap ac9a14d02bd3405bc94c:86)
    at Object.<anonymous> (App.js:6)
    at __webpack_require__ (bootstrap ac9a14d02bd3405bc94c:555)
错误:未加引号的属性值
行:0
栏目:40401
字符:&
出错时(sax.js:651)
失败时(sax.js:677)
SAXParser.write(sax.js:1367)
位于Parser.exports.Parser.Parser.parseString(Parser.js:323)
位于Parser.parseString(Parser.js:5)
反对。(Sal.js:22)
at网页包需要(引导程序ac9a14d02bd3405bc94c:555)
在fn(引导ac9a14d02bd3405bc94c:86)
反对。(App.js:6)
at网页包需要(引导程序ac9a14d02bd3405bc94c:555)
我的XML长度为2784行,结构如下:


    <response>
    <header>
    ..
    .
    .
    .
    </header>
    <branches>
    ..
    ..
    </branches>
    <Products>
    <product1>
    ..
    ..
    </product1>
    <product2>
    ...
    </product2>
    ...
    ...
    ...
    </Products>
    </response>


..
.
.
.
..
..
..
..
...
...
...
...
我可以将xml作为本地文件或本地变量读取,但不知何故,我需要访问所有Products字段的详细信息以显示在UI上

My code
var convert = require('xml-js');
import fs from 'fs'

var xml2 = fs.readFileSync('./xmlText.xml', 'utf8');
var options = {ignoreComment: true, alwaysChildren: true};
var result = convert.xml2js(xml2, options); // or convert.xml2json(xml, options)
console.log(result);

Uncaught TypeError: _fs2.default.readFileSync is not a function
    at Object.<anonymous> (converter.js:25)
    at __webpack_require__ (bootstrap efc8124703a44966d7ce:555)
    at fn (bootstrap efc8124703a44966d7ce:86)
    at Object.<anonymous> (App.js:6)
    at __webpack_require__ (bootstrap efc8124703a44966d7ce:555)
    at fn (bootstrap efc8124703a44966d7ce:86)
    at Object.<anonymous> (index.js:3)
    at __webpack_require__ (bootstrap efc8124703a44966d7ce:555)
    at fn (bootstrap efc8124703a44966d7ce:86)
    at Object.<anonymous> (bootstrap efc8124703a44966d7ce:578)


if i declare xml as a variable i get below error:
sax.js:651 Uncaught Error: Invalid character in entity name
Line: 0
Column: 54128
Char:  
    at error (sax.js:651)
    at strictFail (sax.js:677)
    at SAXParser.write (sax.js:1491)
    at Object.module.exports [as xml2js] (xml2js.js:346)
    at Object.<anonymous> (converter.js:27)
    at __webpack_require__ (bootstrap 3a3dffa4ca814efe6ba5:555)
    at fn (bootstrap 3a3dffa4ca814efe6ba5:86)
    at Object.<anonymous> (App.js:6)
    at __webpack_require__ (bootstrap 3a3dffa4ca814efe6ba5:555)
    at fn (bootstrap 3a3dffa4ca814efe6ba5:86)
我的代码
var convert=require('xml-js');
从“fs”导入fs
var xml2=fs.readFileSync('./xmlText.xml',utf8');
var options={ignoreComment:true,alwaysChildren:true};
var result=convert.xml2js(xml2,options);//或convert.xml2json(xml,选项)
控制台日志(结果);
未捕获的TypeError:_fs2.default.readFileSync不是函数
反对。(converter.js:25)
at(自动引导程序efc8124703a44966d7ce:555)
在fn(引导efc8124703a44966d7ce:86)
反对。(App.js:6)
at(自动引导程序efc8124703a44966d7ce:555)
在fn(引导efc8124703a44966d7ce:86)
反对。(索引js:3)
at(自动引导程序efc8124703a44966d7ce:555)
在fn(引导efc8124703a44966d7ce:86)
反对。(引导efc8124703a44966d7ce:578)
如果将xml声明为变量,则会出现以下错误:
js:651未捕获错误:实体名称中的字符无效
行:0
栏目:54128
烧焦:
出错时(sax.js:651)
失败时(sax.js:677)
SAXParser.write(sax.js:1491)
在Object.module.exports[作为xml2js](xml2js.js:346)
反对。(converter.js:27)
在需要的网页包(引导程序3A3DFA4CA814EFE6BA5:555)
在fn(引导3A3DFA4CA814EFE6BA5:86)
反对。(App.js:6)
在需要的网页包(引导程序3A3DFA4CA814EFE6BA5:555)
在fn(引导3A3DFA4CA814EFE6BA5:86)

我在替换xml中的“和”符号时实现了这一点

var convert = require('xml-js');


var xml = '<myxml></myxml>'
var options = {ignoreComment: true, alwaysChildren: true};
var result = convert.xml2js(xml2, options); // or convert.xml2json(xml, options)
console.log(result);
var convert=require('xml-js');
var xml=''
var options={ignoreComment:true,alwaysChildren:true};
var result=convert.xml2js(xml2,options);//或convert.xml2json(xml,选项)
控制台日志(结果);

您的XML无效。错误消息会告诉您该错误的位置。您没有在问题中包含相关的XML。修复XML。然后XML解析器将能够解析它;var file=require('fs');var xml=require('fs').readFileSync('./xmlText.xml','utf8');var options={ignoreComment:true,alwaysChildren:true};var result=convert.xml2js(xml,options);//或convert.xml2json(xml,options)console.log(result);但是在react组件中,我犯了错误,那么在组件中读取XML的方式可能有问题。你需要一个