Mailinglisten-Archive |
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