1

ODT ファイルのフッターのテキストを変更する方法を見つけようとしています。フッターはstyles.xmlに保持されていますが、selectElementsByContentまたはその他の方法を使用してアクセスできないようです:

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>

text:p の内容を変更する正しい方法は何ですか?

4

1 に答える 1

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');
于 2012-04-10T23:58:06.783 に答える