首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Typescript和xml2js解析XML

使用Typescript和xml2js解析XML
EN

Stack Overflow用户
提问于 2018-10-11 09:05:14
回答 2查看 6K关注 0票数 5

我正在尝试使用Express并解析XML正文。我正在使用正文解析器处理文本,但是无法让xml2js将我的XML解析成可用的格式。

代码语言:javascript
复制
import * as xml2js from 'xml2js';
try {
    const XML:string = '<Pan>0000000000000702203</Pan>';

    xml2js.parseString(XML, {trim: true}, function (err, result) {
        if(err) console.log(err);
        console.log(result); 
    });
} catch (e) {
    console.log(e);
}

两者都不起作用:

代码语言:javascript
复制
try {
    xml2js.parseString(XML, {trim: true}, (err, result) => {
        if(err) console.log(err);
        console.log(result); 
    });
} catch (e) {
    console.log(e);
}

当在VSCode调试器中运行此函数时,代码立即跳过该函数,并且不处理xml2js.parseString()。err和result永远不会获得值。

我也尝试过使用Parser()类:

代码语言:javascript
复制
const p:xml2js.Parser = new xml2js.Parser();
p.parseString(XML, (err:{}, result:{}) => {
    if(err) console.log(err);
    console.log(result); 
});

p.parseString(XML, function(err:{}, result:{}) {
    if(err) console.log(err);
    console.log(result); 
});

这做了同样的事情,并且不工作或填充err,result。

更新时间: 2018/10/11:我已经尝试过调试,看起来sax.parser正在工作并返回数据。我做了以下工作:

代码语言:javascript
复制
console.log(xml2js.parseString(XML, (err, result) => {
    if (err) {
        console.log(err);
    }
});

在VSCode中,我确实得到了作为对象返回的SaxParser,我可以在其中查询并查看结果,但我没有调用回调函数。

调试:

代码语言:javascript
复制
SAXParser {comment: "", sgmlDecl: "", textNode: "", tagName: "", doctype: "", …}

但是,xml2js.parseString应该不返回任何内容,因为定义中将其定义为空。

EN

回答 2

Stack Overflow用户

发布于 2021-05-27 19:40:14

代码语言:javascript
复制
import xml2js from 'xml2js';

async parseXml(xmlString: string) {
    return await new Promise((resolve, reject) => xml2js.parseString(xmlString, (err, jsonData) => {
      if (err) {
        reject(err);
      }
      resolve(jsonData);
    }));

票数 1
EN

Stack Overflow用户

发布于 2019-09-24 21:56:45

您可以尝试使用JSON.stringify(result)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52750725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档