| FAQ | 
| Kalender | 
|  | 
|  2010-03-19, 20:52 | #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 | 
|  2010-03-20, 11:00 | #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 | 
|  2010-03-20, 12:47 | #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 | 
| 
 | 
 |