javascript - 为什么我的数组中缺少 array.from() 中的元素
问题描述
我目前正在从导入的 XML 文档构建一个大型数据库,大约 13k 项左右。当我做
window.onload = function() {
var fileInput = document.getElementById('fileInput');
var fileDisplayArea = document.getElementById('fileDisplayArea');
fileInput.addEventListener('change', function(e) {
var file = fileInput.files[0];
var textType = /text.*/;
if (file.type.match(textType)) {
var reader = new FileReader();
reader.onload = function(e) {
let text = reader.result;
let parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"application/xml");
getReportList(xmlDoc);
}
reader.readAsText(file);
} else {
fileDisplayArea.innerText = "File not supported!";
}
});
}
function isGroupTag(arr) {
return arr.nodeName === "Group";
}
function getReportList(xml) {
// Creates an array containing all reports
let reportList = Array.from(xmlDoc.children[0].children).filter(isGroupTag);
allReports = reportList.map((currElement, index) => {
return getReport(xml, index);
});
}
我只拿回2100左右?我使用一个小得多的 XML 文档检查了我的程序,并且所有内容都加载得很好。关于为什么我会得到这么小的回报有什么想法吗?我的第一个想法是 XML 文档还没有完全加载,所以当我这样做时,Array.from()
它正在用它所拥有的东西构建数组……虽然不确定。任何帮助都会很棒。
编辑:
我刚刚完成了加载几个 XML 文档的测试。我没有在年度文件中加载一个庞大的文件,而是显示了所有内容。仍然不知道为什么我不能只做大规模的。
解决方案
推荐阅读
- mysql - Spring Boot 连接到 MySQL 远程数据库
- android - 使用覆盖方法将 Android Kotlin 隐蔽对象初始化为 lambda
- javascript - sumoselect 在 Angular 5 项目中不起作用
- makefile - if 语句 Makefile tcsh
- vba - 将自动范围从一个工作簿复制粘贴到另一个工作簿
- model-view-controller - 如何在 XtraReport 中显示枚举的本地化值?
- java - runnodes时发生了非法反射访问操作
- sql - SQL:如何减去两个字段属于同一个ID
- spring - 使用 Json Serializable 类将 base64 字符串转换为字节数组
- php - 是否可以从 OneDrive 文件夹中获取永久链接?