Webmaster общности: Predpriemach.com | SearchEngines.bg

    Работа с XML

    Автор: stonybg

    Ето един вариант за работа с PHP и XML

    това е примерен код на XML

    <evec_api version="2.0" method="marketstat_xml">
    
    <marketstat>
    
    
    <type id="34">
    
    <all>
    <volume>61539244658.00</volume>
    <avg>2.71</avg>
    <max>8.52</max>
    <min>0.26</min>
    <stddev>0.56</stddev>
    <median>2.68</median>
    </all>
    
    <buy>
    <volume>27179150680.00</volume>
    <avg>2.42</avg>
    <max>2.85</max>
    <min>0.26</min>
    <stddev>0.43</stddev>
    <median>2.31</median>
    </buy>
    
    <sell>
    <volume>34360093978.00</volume>
    <avg>2.89</avg>
    <max>8.52</max>
    <min>2.49</min>
    <stddev>0.51</stddev>
    <median>2.78</median>
    </sell>
    </type>
    
    
    
    <type id="11399">
    
    <all>
    <volume>11379499.00</volume>
    <avg>5001.40</avg>
    <max>10894.15</max>
    <min>1.01</min>
    <stddev>1775.28</stddev>
    <median>4575.30</median>
    </all>
    
    <buy>
    <volume>4534889.00</volume>
    <avg>1752.26</avg>
    <max>4404.00</max>
    <min>1.01</min>
    <stddev>1365.98</stddev>
    <median>3030.07</median>
    </buy>
    
    <sell>
    <volume>6844610.00</volume>
    <avg>5797.20</avg>
    <max>10894.15</max>
    <min>4328.80</min>
    <stddev>1379.08</stddev>
    <median>5111.51</median>
    </sell>
    </type>
    
    </marketstat>
    </evec_api>

    Ако го разгледате по внимателно се състои от няколко масива с данни например:
    масив 1: е с червено
    масив 2: е с синио

    И така въпросът е как да присвоим стойност на променлива от дадено място в масива.
    Това става по следният начин:

    използваме тази функция да прочетем и присвоим целия XML документ

    $get = file_get_contents('http://adres.com/fail.xml');
    $xml = simplexml_load_string($get);

    с този код е прихванат целият XML файл, сега трябва да отсеем нужната ни информация това става по следният начин, да кажем че ни трябва стойността на ще се направи по следният начин:
    създаваме променлива която ще приеме желаната стойност след което със този код:
    $xml ->

    $xml ->

    се стартира четенето като се посочва отиването на по долно ниво по дървовидната структура тоест при нас става

    $xml -> marketstat ->

    с този код вече сме стигнали до мястото на двата масива с данни сега ще ние нужно да направим разлика между масивите това ще стане с

    $xml -> marketstat -> type[0]

    като се работи както с масиви в php „0“ е първият запис от масива . след което се посочва от коя група на масива и коя стойност ни трябва. тоест ще изглежда така:

    $promenliva1 = $xml -> marketstat -> type[0]-> sell -> min;
    $promenliva2 =$xml -> marketstat -> type[0]-> buy -> min;

    Надявам се да съм полезен на всеки заинтерисуван