2013-11-25 28 views
1

如何在下面的XML文档中获取<PeriodLength>的元素值?Google Apps脚本:直接访问XML元素

<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

你会如何推荐这样做?

回答

2

Apps脚本XML服务中没有XPath类型的功能。还有一些其他的第三方XML JavaScript解析器可以查看这个功能。

这里的一些想法 -

Cross-browser XPath implementation in JavaScript

+1

我怎样才能访问这些在谷歌Apps脚本? – AlexR

+1

您可以轻松地将代码粘贴到新的gs文件中。在此处查看一些想法 - http://googleappsdeveloper.blogspot.com/2012/11/using-open-source-libraries-in-apps.html –

相关问题