2012-04-10 52 views
1

我想弄清楚如何在ODT文件的頁腳中更改文本。頁腳保存在styles.xml,但是我似乎無法使用它或selectElementsByContent任何其他方法來訪問:Perl OpenOffice :: OODoc修改頁眉/頁腳樣式文本

my $a = odfContainer('test.odt'); 
my $styles = odfDocument(container => $a, part => 'styles'); 

foreach my $element ($styles->selectElementsByContent('mytest')) 
{ 
    #never runs... 

} 

在ODT的styles.xml是這樣的:

<office:document-styles> 
    <office:master-styles> 
     <style:master-page> 
      <style:footer> 
       <text:p test:style-name="P49"> 
        mytest 
       </text:p> 
      </style:footer> 
     </style:master-page> 
    </office:master-styles> 
</office:document-styles> 

什麼是正確的方式來改變文本:p內容?

回答

0

我最後不得不通過使用odfXPath循環:

my $ss = odfXPath(file => 'myfile.odt' , part => 'styles'); 
my $p =0; 
while (my $p = $ss->getElement('//text:p',$p)) 
{ 
if ($ss->getText($para) eq 'mytest') { $ss->setText($p,'foobar');} 
$p++; 
} 
$ss->save('mynewfile.odt');