Δημιουργία νέου XML Structure από PHP Method

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
kchrist
Δημοσιεύσεις: 8
Εγγραφή: 28 Δεκ 2005 01:29

Δημιουργία νέου XML Structure από PHP Method

Δημοσίευση από kchrist » 10 Ιαν 2006 18:19

Χρησιμοποιώ την ακόλουθη μέθοδο για τη δημιουργία ενός νέου XML από recordset:

Κώδικας: Επιλογή όλων

   function convertToXML($sql, $filename) {
   $result = $this->recordSet->select($sql);

   $this->xml->create_root();
   $fh = fopen( '../main.xml', 'r' );
   $this->xml->read_file_handle( $fh ); 
   $this->xml->roottag->add_subtag('filelist', array() );
  
 
      while ($list_result = $this->recordSet->setRow($result)) {

      $this->xml->roottag->curtag->add_subtag('category', array('name' => $this->recordSet->cdata = $list_result[0], 'description' => '', 'thumb' => '', 'allowed' => 'true') );

      
            $tag = &$this->xml->roottag->curtag;
     
                    $this->xml->roottag->curtag->curtag->add_subtag('image', array('filename'=> $this->recordSet->cdata = $list_result[5], 'productname'=> $this->recordSet->cdata = $list_result[1], 'productdescription'=> $this->recordSet->cdata = $list_result[2], 'productsubtitle'=> $this->recordSet->cdata = $list_result[3], 'productprice'=> $this->recordSet->cdata = $list_result[4]));
	  }

      $xml_file = fopen($filename, "w" );
      $this->xml->write_file_handle( $xml_file );
   }
To XML που δημιουργείται είναι της ακόλουθης μορφής:

Κώδικας: Επιλογή όλων

	<filelist>
		<category name="frontrunner" description="" thumb="" allowed="true">
			<image filename="frontrunner_bg.jpg" productname="" productdescription="" productsubtitle="" productprice=""/>
		</category>
		<category name="frontrunner" description="" thumb="" allowed="true">
			<image filename="fr_lydia.jpg" productname="Lydia zip knit / Aldora skirt" productdescription="" productsubtitle="" productprice=""/>
		</category>
		<category name="oldschool" description="" thumb="" allowed="true">
			<image filename="oldschool2_bg.jpg" productname="" productdescription="" productsubtitle="" productprice=""/>
		</category>
		<category name="oldschool" description="" thumb="" allowed="true">
			<image filename="os_atlanta.jpg" productname="Atlanta zip jacket" productdescription="" productsubtitle="" productprice=""/>
		</category>
	</filelist>
ΘΑ ΗΘΕΛΑ ΝΑ ΔΗΜΙΟΥΡΓΕΙΤΑΙ Η ΑΚΟΛΟΥΘΗ ΔΟΜΗ ΤΟΥ XML (GROUPED TAGS BASED ON category name):

Κώδικας: Επιλογή όλων

<filelist>
		<category name="frontrunner" description="" thumb="" allowed="true">
			<image filename="frontrunner_bg.jpg" productname="" productdescription="" productsubtitle="" productprice=""/>
			<image filename="fr_lydia.jpg" productname="Lydia zip knit / Aldora skirt" productdescription="" productsubtitle="" productprice=""/>
		</category>
		<category name="oldschool" description="" thumb="" allowed="true">
			<image filename="oldschool2_bg.jpg" productname="" productdescription="" productsubtitle="" productprice=""/>
			<image filename="os_atlanta.jpg" productname="Atlanta zip jacket" productdescription="" productsubtitle="" productprice=""/>
		</category>
	</filelist>

Πώς μπορώ να το πετύχω ;;;
Η βοήθειά σας θα είναι πολύτιμη

kchrist
Δημοσιεύσεις: 8
Εγγραφή: 28 Δεκ 2005 01:29

Δημιουργία νέου XML Structure από PHP Method

Δημοσίευση από kchrist » 11 Ιαν 2006 02:22

κάποια βοήθεια...;;; :oops: :-? :( :question:

kchrist
Δημοσιεύσεις: 8
Εγγραφή: 28 Δεκ 2005 01:29

Δημιουργία νέου XML Structure από PHP Method

Δημοσίευση από kchrist » 13 Ιαν 2006 00:20

Σας έβαλα δύσκολα, ε;

Τελικά το βρήκα...

Κώδικας: Επιλογή όλων

$prevTag=  "";
      while &#40;$list_result = $this->recordSet->setRow&#40;$result&#41;&#41; &#123;
if &#40;$prevTag!= $list_result&#91;0&#93;&#41;&#123;

$prevTag=$list_result&#91;0&#93;;
      $this->xml->roottag->curtag->add_subtag&#40;'category', array&#40;'name' => $this->recordSet->cdata = $list_result&#91;0&#93;, 'description' => '', 'thumb' => '', 'allowed' => 'true'&#41; &#41;;

&#125; 
Ορισμός της μεταβλητής $prevTag και σύγκριση κάθε φορά με την τιμή $list_result[0].

Φανταστείτε ότι ένας Ρουμάνος freelancer (που μάλιστα έχει δημιουργήσει γνωστό PHPWeb Framework) ζήτησε 35 $ για να φτιάξει κάτι τέτοιο...
Με συνάδελφο Java Expert βρήκαμε σε 10 λεπτά τη λύση.

Παραμιλητό τέλος...

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

Δημιουργία νέου XML Structure από PHP Method

Δημοσίευση από shadow » 13 Ιαν 2006 09:17

Αυτη η λύση όμως δουλεύει μόνο όταν τα data σου ειναι sort με βαση το category_name..
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

kchrist
Δημοσιεύσεις: 8
Εγγραφή: 28 Δεκ 2005 01:29

Δημιουργία νέου XML Structure από PHP Method

Δημοσίευση από kchrist » 13 Ιαν 2006 09:55

Αυτό είναι το ευκολότερο...
order by...κτλ κτλ

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης