Perl OpenOffice::OODoc修改页眉/页脚样式文本
我试图弄清楚如何更改ODT文件页脚中的文本。页脚保存在styles.xml中,但我似乎无法使用selectElementsByContent或任何其他方法访问它:Perl OpenOffice::OODoc修改页眉/页脚样式文本,perl,openoffice.org,Perl,Openoffice.org,我试图弄清楚如何更改ODT文件页脚中的文本。页脚保存在styles.xml中,但我似乎无法使用selectElementsByContent或任何其他方法访问它: my $a = odfContainer('test.odt'); my $styles = odfDocument(container => $a, part => 'styles'); foreach my $element ($styles->selectElementsByContent('mytest')
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内容的正确方法是什么?我最后不得不使用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');