更新时间:2023-12-05 16:49:10
我不太了解如何确定需要的节点,但是,在确定它们之后,可以对所需的前两列执行以下操作:
I do not understand very well how you determine the nodes that need, however, after determining them, you can do the following for the first 2 columns you need:
...
var target = "http://www.sec.gov/Archives/edgar/data/867773/000086777313000052/spwr-20130630.xml";
var pageTxt = UrlFetchApp.fetch(target).getContentText();
var xbrl = XmlService.parse(pageTxt);
var element = xbrl.getRootElement().getChildren()[1420];
Logger.log(element.getNamespace().getPrefix()); // us-gaap
Logger.log(element.getName()); // WeightedAverageNumberOfDilutedSharesOutstanding
...
使用 XmlService 访问新服务旧服务,简称为 Xml .
更新
我对 XmlService 的经验很少,不太确定您可以使用通配符搜索节点,这是一个非常基本的示例,可能效率很低:
My experience with XmlService is little, not too sure if you can use wildcards for the search of nodes, a very basic example and probably inefficient can be:
...
var ns = 'us-gaap';
var target = "http://www.sec.gov/Archives/edgar/data/867773/000086777313000052/spwr-20130630.xml";
var pageTxt = UrlFetchApp.fetch(target).getContentText();
var xbrl = XmlService.parse(pageTxt);
var elements = xbrl.getRootElement().getChildren();
var el, attr;
for (var element = 0, len = elements.length; element < len; ++element) {
el = elements[element];
if (el.getNamespace().getPrefix() === ns) {
/* YOUR CODE */
Logger.log(ns);
Logger.log(el.getName());
attr = el.getAttribute('contextRef');
if(attr) Logger.log(attr.getValue());
}
}
...