Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  XML ja php märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 04.11.2010 19:36:10 XML ja php vasta tsitaadiga

Tere, XML on minujaoks täiesti uus asi.
Vaja oleks kuvada valuuta kursid eesti panga kodulehelt oma lehele.
xml:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Report>
  3. <Header>
  4. <Type>Daily fixings</Type>
  5. <Version>1.0</Version>
  6. <Date>04.11.10</Date>
  7. <Language>et</Language>
  8. </Header>
  9. <Body>
  10. <FixingsDate>04.11.10</FixingsDate>
  11. <Currencies>
  12. <Currency name="AED" rate="2,9880400000" text="Araabia Ühendemiraatide dirhem"/>
  13. <Currency name="ARS" rate="2,7751400000" text="Argentina peeso"/>
  14. <Currency name="AZN" rate="13,7102000000" text="Uus Aserbaidžaani manat"/>
  15. <Currency name="AUD" rate="11,1021000000" text="Austraalia dollar"/>
  16. <Currency name="BGN" rate="8,0002200000" text="Bulgaaria leev"/>
  17. <Currency name="BRL" rate="6,4940500000" text="Brasiilia reaal"/>
  18. </Currencies>
  19. </Body>
  20. </Report>
  21.  

Kui faili arvutisse salvestasin ja faili ainult Currencies vahemiku jätsin sain kursid kuvatud sellise koodiga
php-brief:
  1. <?php
  2. $Currencies = new SimpleXMLElement('report.xml', null, true);
  3. echo <<<EOF
  4. <table>
  5.         <tr>
  6.                 <th>Nimi</th>
  7.                 <th>Kurss</th>
  8.                 <th>Valuuta</th>
  9.         </tr>
  10. EOF;
  11. foreach($Currencies as $Currency) // loop through our books
  12. {
  13.         echo <<<EOF
  14.         <tr>
  15.                                 <td>{$Currency['name']}</td>
  16.                                 <td>{$Currency['rate']}</td>
  17.                                 <td>{$Currency['text']}</td>
  18.         </tr>
  19. EOF;
  20. }
  21. echo '</table>';
  22. ?>

Mida ma oma koodis muutma peaksin, et ta ka Eesti Panga failist kuvaks kursid, peale lingi muidugi.
tänud
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 04.11.2010 20:10:36 vasta tsitaadiga

<?php
$currencies = new SimpleXMLElement('report.xml', null, true);

foreach($currencies->Body->Currencies->Currency as $cur) {
  echo $cur['rate'] . '<br>';
}


var_dump on abiks selliste asjade lahendamiseks
võimalik, et sellele SimpleXMLElement saab selgeks teha, mis osa ta välja võtma peab...

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 12.11.2010 15:31:40 vasta tsitaadiga

Tänan.
Nüüd on plaan lisada $name ja $rate array'sse.
Tulemus võiks olla selline, et kui $namearray['USD'] siis väljastaks USD kursi.
Minu lahendus hetkel ei tööta, aga kuidas see tööle saada?
php-brief:
  1. <?php
  2. $currencies = new SimpleXMLElement('report.xml', null, true);
  3. ?>
  4. <table>
  5.         <tr>
  6.                 <th>Kurss</th>
  7.         </tr>
  8. <?php
  9. $currencies = $currencies->Body->Currencies->Currency;
  10. foreach($currencies as $currency){
  11. $name = $currency['name'];
  12. $rate = $currency['rate'];
  13. $namearray = array($name => $rate);
  14. ?>
  15.         <tr>
  16.                                 <td><?php echo $namearray['USD']; ?></td>
  17.         </tr>
  18. <?php
  19. }
  20. ?>
  21. </table>
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 12.11.2010 15:44:01 vasta tsitaadiga

Mis sul $currencies väärtuseks on peale 9. rea täitmist?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 12.11.2010 16:04:53 vasta tsitaadiga

print_r andis:
SimpleXMLElement Object ( [@attributes] => Array ( [name] => AED [rate] => 2,9880400000 [text] => Araabia Ühendemiraatide dirhem ) )
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 12.11.2010 16:26:02 vasta tsitaadiga

Kui sul vaid üks currency on nimekirjas, siis miks lasta seda foreachiga läbi?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 12.11.2010 16:33:58 vasta tsitaadiga

Ei tea miks ta ainult ühte kuvab.
php-brief:
  1. <?php
  2. $currencies = new SimpleXMLElement('report.xml', null, true);
  3. ?>
  4. <table>
  5.         <tr>
  6.                 <th>Kurss</th>
  7.         </tr>
  8. <?php
  9. $currencies = $currencies->Body->Currencies->Currency;
  10. foreach($currencies as $currency){
  11. $name = $currency['name'];
  12. $rate = $currency['rate'];
  13. ?>
  14.         <tr>
  15.                                 <td><?php print_r($name); ?></td>
  16.         </tr>
  17. <?php
  18. }
  19. ?>
  20. </table>

Kuvab
php-brief:
  1. SimpleXMLElement Object ( [0] => AED )
  2. SimpleXMLElement Object ( [0] => ARS )
  3. SimpleXMLElement Object ( [0] => AZN )
  4. SimpleXMLElement Object ( [0] => AUD )
  5. SimpleXMLElement Object ( [0] => BGN )
  6. SimpleXMLElement Object ( [0] => BRL )
  7. SimpleXMLElement Object ( [0] => BYR )
  8. SimpleXMLElement Object ( [0] => CAD )
  9. SimpleXMLElement Object ( [0] => CHF )
  10. SimpleXMLElement Object ( [0] => CNY )
  11. SimpleXMLElement Object ( [0] => CZK )
  12. SimpleXMLElement Object ( [0] => DKK )
  13. SimpleXMLElement Object ( [0] => EGP )
  14. SimpleXMLElement Object ( [0] => EUR )
  15. SimpleXMLElement Object ( [0] => GBP )
  16. SimpleXMLElement Object ( [0] => GEL )
  17. SimpleXMLElement Object ( [0] => HKD )
  18. SimpleXMLElement Object ( [0] => HRK )
  19. SimpleXMLElement Object ( [0] => HUF )
  20. SimpleXMLElement Object ( [0] => IDR )
  21. SimpleXMLElement Object ( [0] => ILS )
  22. SimpleXMLElement Object ( [0] => INR )
  23. SimpleXMLElement Object ( [0] => ISK )
  24. SimpleXMLElement Object ( [0] => JPY )
  25. SimpleXMLElement Object ( [0] => KGS )
  26. SimpleXMLElement Object ( [0] => KRW )
  27. SimpleXMLElement Object ( [0] => KZT )
  28. SimpleXMLElement Object ( [0] => LTL )
  29. SimpleXMLElement Object ( [0] => LVL )
  30. SimpleXMLElement Object ( [0] => MAD )
  31. SimpleXMLElement Object ( [0] => MDL )
  32. SimpleXMLElement Object ( [0] => MXN )
  33. SimpleXMLElement Object ( [0] => MYR )
  34. SimpleXMLElement Object ( [0] => NOK )
  35. SimpleXMLElement Object ( [0] => NZD )
  36. SimpleXMLElement Object ( [0] => PLN )
  37. SimpleXMLElement Object ( [0] => RON )
  38. SimpleXMLElement Object ( [0] => RSD )
  39. SimpleXMLElement Object ( [0] => RUB )
  40. SimpleXMLElement Object ( [0] => SDR )
  41. SimpleXMLElement Object ( [0] => SEK )
  42. SimpleXMLElement Object ( [0] => SGD )
  43. SimpleXMLElement Object ( [0] => ZAR )
  44. SimpleXMLElement Object ( [0] => THB )
  45. SimpleXMLElement Object ( [0] => TND )
  46. SimpleXMLElement Object ( [0] => TRY )
  47. SimpleXMLElement Object ( [0] => TWD )
  48. SimpleXMLElement Object ( [0] => UAH )
  49. SimpleXMLElement Object ( [0] => USD )
  50. SimpleXMLElement Object ( [0] => UZS )
  51. SimpleXMLElement Object ( [0] => VEF )
  52. SimpleXMLElement Object ( [0] => XAU )
  53. SimpleXMLElement Object ( [0] => XOF )
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
nemu
HV vaatleja
nemu

liitunud: 22.01.2002



Autoriseeritud ID-kaardiga

sõnum 12.11.2010 18:32:57 vasta tsitaadiga

xml:
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output method="html" />
  4. <xsl:template match="Report">
  5. <table>
  6.   <tr>
  7.     <th>Nimi</th>
  8.     <th>Kurss</th>
  9.     <th>Valuuta</th>
  10.   </tr>
  11.   <xsl:for-each select="Body/Currencies/Currency">
  12.   <tr>       
  13.     <td><xsl:value-of select="@name"/></td>
  14.     <td><xsl:value-of select="@rate"/></td>
  15.     <td><xsl:value-of select="@text"/></td>
  16.   </tr>
  17.   </xsl:for-each> 
  18. </table>
  19. </xsl:template>
  20. </xsl:stylesheet>
  21.  


php:
  1. <?php
  2. $xml = DomDocument::load('rates.xml');
  3. $xsl = DomDocument::load('rates.xsl');
  4.  
  5. $xslt = new XSLTProcessor();
  6. $xslt->importStyleSheet($xsl);
  7.  
  8. echo $xslt->transformToXML($xml);
  9. ?>
  10.  
Kommentaarid: 12 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  XML ja php
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.