SadDemon Posted September 1, 2007 Report Share Posted September 1, 2007 Ir nepieciešamība pēc kādas funkcijas, kas no: <node><node>text</node><node>text</node></node> galā iegūtu: <node> <node>text</node> <node>text</node> </node> ..paldies! Link to comment Share on other sites More sharing options...
andrisp Posted September 1, 2007 Report Share Posted September 1, 2007 http://www.google.lv/search?hl=lv&q=xml+beautifier+php Link to comment Share on other sites More sharing options...
bubu Posted September 1, 2007 Report Share Posted September 1, 2007 Diezgan vienkārša rekursīva funkcija. Apstaigā XML kā koku vai nu izmantojot SAX, vai DOM parseri. Glabā kautkur tekošo līmeni un pirms katras nodes izdrukāšanas izdrukā 4*līmenis atstarpes. Katreiz ieejot jaunā nodē palielini līmeni par 1, izejot no nodes - samazini par 1. Link to comment Share on other sites More sharing options...
SadDemon Posted September 1, 2007 Author Report Share Posted September 1, 2007 Lūdzu mazu piemēru, citādi nekādi neizdodas (pietrūkst zināšanu).. Link to comment Share on other sites More sharing options...
bubu Posted September 1, 2007 Report Share Posted September 1, 2007 Forumam ir lieliska iespēja - Search. Par rekursīvām funkcijām jau N-reizes bijis runāts... function abc($node, $level = 0) { display_N_spaces(4*$level); for each($node->childs as $child) { abc($child, $level + 1); } } abc($root); Link to comment Share on other sites More sharing options...
SadDemon Posted September 1, 2007 Author Report Share Posted September 1, 2007 (edited) Par rekursīvo funkciju sapratu, bet ..lieta, kas neizdodas ir: samazināt atkāpi, jo ar Dom ejot caur nodēm, aizvēršanas tagu tas nemaz neskaita.. Edited September 1, 2007 by SadDemon Link to comment Share on other sites More sharing options...
Delfins Posted September 1, 2007 Report Share Posted September 1, 2007 Nu vispār XML-u nevajag šitā formatēt... lai lieko reizi parserim nesearčot tukšumus. Otkārt, jebkurš XML editors/rādītājs (IE/FF un etc) jau rāda `smuku` XML. Link to comment Share on other sites More sharing options...
bubu Posted September 1, 2007 Report Share Posted September 1, 2007 Ar to atkāpes samazināšanu es biju gribējis teikt, ka līmenis pats samazināsies izejot no rekursīvās funkcijas. To tev pašam nav jādara. Nav nekādi aizvēršanas tagi jāskaita (tas tak loģiski - uz katru atvēršanas tagu ir viens aizvēršanas, tāpēc tā ir lieka informācija, kuru DOM kokā nevajag glabāt). Paskaties vēlreiz uz manu piemēru - kāpēc tam nav vajadzīgs nekāds aizvēršanas tags. Link to comment Share on other sites More sharing options...
SadDemon Posted September 1, 2007 Author Report Share Posted September 1, 2007 jā, bet ja mērķis ir to visu informāciju pārrakstīt citā (jaunā) failā.. tikai sakārtotu.. vai tā vispār ir pieņemama lieta; vai tas būtu pavisam nepareizi.. nerunājot par to vai tam ir liela/maza nozīme.. Link to comment Share on other sites More sharing options...
Delfins Posted September 2, 2007 Report Share Posted September 2, 2007 pārrakstīt citā failā ar kādu jēgu ? Ka starp tagiem būtu atstarpes, new-lines un tabi!? XML nekad nav bijis priekš acīm, bet priekš programmas. Lieku reizi kaut ko procesēt un iespējams pa vidu kaut ko pakāst.. enkodingu vai vēl kaut ko... nu sorry. Link to comment Share on other sites More sharing options...
bubu Posted September 2, 2007 Report Share Posted September 2, 2007 Nu nu, Delfin. XML ir speciāli tika izveidots tāds, lai būtu priekš acīm. http://www.w3.org/TR/2006/REC-xml11-200608...ec-origin-goals The design goals for XML are:... 6. XML documents should be human-legible and reasonably clear. Link to comment Share on other sites More sharing options...
SadDemon Posted September 4, 2007 Author Report Share Posted September 4, 2007 (edited) saistībā ar šo visu, tika atrasts: $dom->preserveWhiteSpace = false; // izņemam tukšumus pirms ielādes.. parsēšanas $dom->formatOutput = true; // pie saglabāšanas, dati ir smuki sakārtoti Edited September 4, 2007 by SadDemon Link to comment Share on other sites More sharing options...
4e4en Posted September 8, 2007 Report Share Posted September 8, 2007 ir arī tāda lieta kā xsl Link to comment Share on other sites More sharing options...
Recommended Posts