gpt4 book ai didi

javascript - 用 JS 解析 XBRL 文件

转载 作者:搜寻专家 更新时间:2023-11-01 00:21:03 25 4
gpt4 key购买 nike

我想解析像这样的 XBRL 文件 one因此我找到了this 声称能够解析 XBRL 文件的 npm 模块。这是我对示例代码的实现:

var ParseXbrl = require('parse-xbrl');

ParseXbrl.parseStr('<?xml version="1.0" encoding="US-ASCII"?> <xbrli:xbrlxmlns:aapl="https://www.sec.gov/Archives/edgar/data/320193/000162828016020309/aapl-20160924.xml">').then(function(parsedString) {
console.log(parsedString);
});

但是它只返回以下内容:

Field not found. is not a date
loaded EntityRegistrantName: Field not found.
loaded CurrentFiscalYearEndDate: Field not found.
loaded EntityCentralIndexKey: Field not found.
loaded EntityFilerCategory: Field not found.
loaded TradingSymbol: Field not found.
loaded DocumentPeriodEndDate: Field not found.
loaded DocumentFiscalYearFocus: Field not found.
loaded DocumentFiscalPeriodFocus: Field not found.
loaded DocumentFiscalYearFocusContext: Field not found.
loaded DocumentFiscalPeriodFocusContext: Field not found.
loaded DocumentType: Field not found.
Unhandled rejection No year end found.

我怀疑文档本身有问题,因为它直接来自美国证券交易委员会,而且我已经测试了多个不同的文档(每个文档都有相同的乏善可陈的结果),因此要么是我的代码不正确,要么是 npm 模块已过时或有故障。因此,我的问题是,我应该使用的正确代码是什么,或者我应该使用的正确 npm 模块是什么(如果有的话)。

非常感谢任何帮助。

最佳答案

我在 .parseFile 无法正常工作时遇到了同样的问题,所以我想出了一个巧妙的解决方法:

var ParseXbrl = require('parse-xbrl');
var request = require("request");


var XML = "";


request
.get('https://www.sec.gov/Archives/edgar/data/320193/000162828016020309/aapl-20160924.xml')
.on('response', function(response) {
response.on('data', function(chunk){
XML += chunk;
});
response.on('end',function(){
ParseXbrl.parseStr(XML).then(function(parsedDoc) {
console.log(parsedDoc);
});
});
});

在这里,我使用 HTTP 请求获取 XML,然后让 XBRL 模块将该数据解析为字符串。

关于javascript - 用 JS 解析 XBRL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45624965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com