首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows上通过node.js加载xml文件

在windows上通过node.js加载xml文件
EN

Stack Overflow用户
提问于 2012-05-14 16:45:25
回答 3查看 4.5K关注 0票数 1

我正在尝试通过IIS中托管的Node.js加载和解析本地XML文件。我使用fs readFile读取字符串,并使用xmldom模块解析它。它工作到文件大小很小(几kb),但是如果我尝试加载一个3Mb的xml,它会失败。

windows的其他哪些xml模块可以执行得更好?

这是我的代码

代码语言:javascript
复制
var fs = require('fs');
fs.readFile('C:\\Temp\\TEST.xml', 'ascii', function(err,data){
    if(err) {
        console.log("Could not open file"+ err);
        process.exit(1);
    }
    var Dom = require('xmldom').DOMParser;
    var doc = new Dom().parseFromString(data.substring(2,data.lenght));
    console.log(doc.childNodes[0].localName);
});

5分钟后,xml解析器仍在运行,而在一个更简单的示例中,它可以正常工作。我将msinfo32的输出保存为xml格式。

10分钟后输出为RangeError:已超过最大调用堆栈大小

从"msinfo32 /nfo C:\TEMP\TEST.NFO“生成输出

EN

回答 3

Stack Overflow用户

发布于 2012-05-14 17:04:31

只需确保xml文档在此处有效:

http://www.w3schools.com/xml/xml_validator.asp

如果是并且失败了,我建议在他们的github页面上打开一个问题

您可以在npm上搜索其他模块

我个人使用过xml2js,没有任何问题

票数 0
EN

Stack Overflow用户

发布于 2012-05-23 15:31:39

在"ucs2“中的msinfo32输出中,错误的编码导致了问题。Xmldom解析器工作得很好,即使它需要几分钟来解析整个文件。

我使用xml-splitter提取要解析的xml分支。

票数 0
EN

Stack Overflow用户

发布于 2013-09-27 04:03:20

我看到你写的是length而不是length...也许这就是问题所在!

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

https://stackoverflow.com/questions/10580039

复制
相关文章

相似问题

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