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
...
The new service is accessed using XmlService, in contrast to the old service which was simply called Xml.
UPDATE
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());
}
}
...