Google Apps脚本:直接访问XML元素

时间:2013-11-25 21:03:19

标签: javascript xml google-apps-script google-sheets

如何在下面的XML文档中获取<PeriodLength>的元素值?

<AnnualPeriods>
     <FiscalPeriod Type="Annual" EndDate="2009-06-30" FiscalYear="2009">
        <Statement Type="**INC**">
             <FPHeader>
                 <PeriodLength>**12**</PeriodLength>
                 <periodType Code="M">Months</periodType>

这是我目前的代码段:

for (var k = 0; k < statements.length; k++) {     
   var values = elements[i].getChildren('Statement')[k]
       .getChildren('lineItem');
   var statementType = elements[i].getChildren('Statement')[k]
       .getAttribute('Type'); // INC, BAL, CAS
   var header = elements[i].getChildren('Statement')[k]
       .getChild('FPHeader');
   var periodLength = header.getChild('PeriodLength');
   var periodType = header.getChild('periodType');
}

我希望通过将元素指定为“路径”来“直接”访问它们,而不是循环遍历语句,例如INC/PeriodLength

你会如何推荐这样做?

1 个答案:

答案 0 :(得分:2)

Apps Script XML服务中没有XPath类型功能。您可以使用其他一些第三方XML JavaScript解析器来查看此功能。

这里的一些想法 -

Cross-browser XPath implementation in JavaScript