phpbar.de logo

Mailinglisten-Archive

[php] DOM appendChild

[php] DOM appendChild

Peter Bieling net2 at media-palette.de
Die Mar 27 13:28:47 CEST 2007


Hallo Andi,

Andi Voss wrote:

> <table:table-row>
>    <table:table-cell table:style-name="Table2.A2" 
> office:value-type="string">
>      <text:p text:style-name="P2">{NO. RECEIPTS}</text:p>
>    </table:table-cell>
>    <table:table-cell table:style-name="Table2.A2" 
> office:value-type="string">
>      <text:p text:style-name="P2">{DESCRIPTION RECEIPTS}</text:p>
>    </table:table-cell>
>    <table:table-cell table:style-name="Table2.A2" 
> office:value-type="string">
>      <text:p text:style-name="P2">{CATEGORY RECEIPTS}</text:p>
>    </table:table-cell>
>    <table:table-cell table:style-name="Table2.D2" 
> office:value-type="string">
>      <text:p text:style-name="P2">{RECEIPTS}<text:s/>{AMOUNT}</text:p>
>    </table:table-cell>
> </table:table-row>

Hier ein lauffähiges Beispiel, wie ich es machen würde:
http://www.media-palette.de/test/xmltable.zip

Ein paar Anmerkungen im Detail:

$data_rows = 3; //Für Testdatensätze

//Platzhalter-Tabellenreihe holen:
require_once("xml-line.php");
$xml = new xml_line('xml1.xml');
$xml->copy_branch(0,'table:table-row');
$result = $xml->xml_stream();
$table_row = $result[0][0][0];
//print_r($table_row); //Testanzeige

//Platzhalter definieren:
$search_arr = array('{NO. RECEIPTS}',
                     '{DESCRIPTION RECEIPTS}',
                     '{CATEGORY RECEIPTS}',
                     '{RECEIPTS}',
                     '{AMOUNT}');
//Testdaten generieren:
$replace_arr = array();
$i = 0;
for ($i = 0; $i <3; $i++) {
    $replace_arr[] = array("n$i", "dr$i", "cr$i", "r$i", "a$i");
}
//Platzhalter ersetzen und Tabellenreihen verketten:
$table_rows= '';
for ($i = 0; $i <3; $i++) {
     $table_rows .=  str_replace($search_arr,
                                 $replace_arr[$i],
                                 $table_row);
}

//Neues XML-Objekt. Ausgabeformat und -datei angeben:
$xml = new xml_line('xml1.xml', "xml", "out.xml");
//Eresetzungselement definieren und -methode aufrufen.
$arg=array(0, 'table:table-row');
$xml->replace_element($arg, $table_rows);
$xml->xml_stream();

Viele Grüße

Peter

php::bar PHP Wiki   -   Listenarchive