如何使用 Google 应用程序脚本在已解析的 XML 中搜索元素?

How can I search for elements in a parsed XML with Google App Script?

我有以下问题:

我已经可以从 xml:

中获取内容
function ReadXml(){
    var data = UrlFetchApp.fetch("https://drive.google.com/uc?id=1SNOIXgBpK20jSQ4nl5w2ZPoY9HHnRmAz&export=download").getContentText();
    var xml = XmlService.parse(data);
    var root = xml.getRootElement();
    Logger.log(data);

...

现在我一直在搜索元素或从已解析的文档中获取任何信息。

我已经通过文档尝试了许多不同的方法来解决这个问题。目前我试试这个:

...

var children = root.getChildren("product");
var product = children[0].getName();
Logger.log(product);

}

我知道 xml 中有一个“产品”元素,但似乎找不到任何元素。

我不知道我是否必须使用 XSM 或其他问题。

我明白了。如果不使用正确的命名空间作为参数,Google 应用程序脚本 XML 服务将无法工作。

对于我的xml,我得到了这样的命名空间:

var namespace = XmlService.getNamespace('http://www.editeur.org/onix/2.1/short');

第一次使用 xml 解析,所以我不知道。您将在 xml.

的第一行找到命名空间 Link

之后就可以得到xml上的元素信息了:

var elementContent = root.getChild("product", namespace).getChild("a001", namespace).getText();