Pomoc - Szukaj - Użytkownicy - Kalendarz
Pe³na wersja: XML + XML = 2 * XML
Forum PHP.pl > Forum > XML, AJAX > XML
sebas
Witam (uwaga jestem poczħtkujħcy)
Mam np 2 (lub wiêcej) plików xml z pewnymi danymi (struktura tych plików jest identyczna).
Czy istnieje możliwoĥĉ scalenia tych plików w jeden nowy plik, bez koniecznosci parsowania kazdego ?

np. w plik1.xml jest <cena wartosc = "2.5"/>,
w plik2.xml jest <cena wartosc = "3.5"/>

To po takiej operacji w pliku 3 powinna byc informacja:
<cena wartosc = "6.0"/>
MaKARON
Niestety chyba sam nie bardzo wiesz o czym piszesz... jak mozna to zrobic, jezeli nie chcesz ich przetwazac a jednoczesnie chcesz informacje z nich!!
bela
Cytat(manual)
A simple way to merge two SimpleXML objects.

  1. <?php
  2. /**
  3. * Pumps all child elements of second SimpleXML object into first one.
  4. *
  5. * @param object $xml1 SimpleXML object
  6. * @param object $xml2 SimpleXML object
  7. * @return void
  8. */
  9. function simplexml_merge (SimpleXMLElement &$xml1, SimpleXMLElement $xml2)
  10. {
  11.  // convert SimpleXML objects into DOM ones
  12.  $dom1 = new DomDocument();
  13.  $dom2 = new DomDocument();
  14.  $dom1->loadXML($xml1->asXML());
  15.  $dom2->loadXML($xml2->asXML());
  16.  
  17.  // pull all child elements of second XML
  18.  $xpath = new domXPath($dom2);
  19.  $xpathQuery = $xpath->query('/*/*');
  20.  for ($i = 0; $i < $xpathQuery->length; $i++)
  21.  {
  22.  // and pump them into first one
  23.  $dom1->documentElement->appendChild(
  24.  $dom1->importNode($xpathQuery->item($i), true));
  25.  }
  26.  $xml1 = simplexml_import_dom($dom1);
  27. }
  28.  
  29. $xml1 = simplexml_load_string('<root><child>child 1</child></root>');
  30. $xml2 = simplexml_load_string('<root><child>child 2</child></root>');
  31. simplexml_merge($xml1, $xml2);
  32. echo($xml1->asXml());
  33. ?>
  34.  
  35. Will output:
  36. <?xml version=&#092;"1.0\"?>
  37. <root>
  38.  <child>child 1</child>
  39.  <child>child 2</child>
  40. </root>
To jest wersja lo-fi g³ównej zawartoĥci. Aby zobaczyĉ pe³nħ wersjê z wiêkszħ zawartoĥciħ, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.