| FAQ |
| Kalender |
|
|
#1 | ||
|
|||
|
Mycket flitig postare
|
Hej,
Försöker traversera ett XML-dokument med hjälp av DOMDocument. Jag går igenom dokumentet och om en viss sträng finns i ett element skall detta element klonas ett antal gånger. Säg att jag har följande XML: Kod:
<dokument>
<rad>
<klona>5</klona>
<data>
<info>information</info>
</data>
</rad>
</dokument>
Kod:
<dokument>
<rad>
<klona>1</klona>
<data>
<info>information</info>
</data>
</rad>
<rad>
<klona>1</klona>
<data>
<info>information</info>
</data>
</rad>
<rad>
<klona>1</klona>
<data>
<info>information</info>
</data>
</rad>
<rad>
<klona>1</klona>
<data>
<info>information</info>
</data>
</rad>
<rad>
<klona>1</klona>
<data>
<info>information</info>
</data>
</rad>
</dokument>
En annan tanke var att ha ett dokument som traverseras och ett annat där man bygger resultatet. Använder för övrigt $node->cloneNode() och ->parentNode->insertBefore() för att skapa klonerna. |
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Supermoderator
|
Du kanske skulle visa upp lite av koden, så blir det lättare att se var det går snett...
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Mycket flitig postare
|
PHP-kod:
Kod:
...
<table:table-row>
<table:table-cell>
<text:p>foreach ($receipts as $receipt) {</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->id</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->name</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->amount</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->vat1</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->vat2</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->vat3</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->net</text:p>
</table:table-cell>
<table:table-cell>
<text:p>$receipt->date</text:p>
</table:table-cell>
<table:table-cell/>
</table:table-row>
...mer XML...
Jag tror att problemet ligger i foreach ($node->childNodes) eftersom den tar en ögonblicksbild av barnen och loopar dem, och tar inte hänsyn till ändringar. Hur kan man tänka på annat sätt? |
||
|
|
Svara med citat
|
| Svara |
|
|