6 Paź 2008

Utworzenie najprostszego dokumentu XML

$docs = new DOMDocument('1.0', 'UTF-8');
$doc->formatOutput = true;
$pages = $docs->appendChild(new DOMElement('pages'));
$element_page = $pages->appendChild(new DOMElement('page'));
$element_page->setAttribute("id", "123456");
$element_name = $docs->createElement('link', 'link numer 123456');
$element_page->appendChild($element_name);
$element_CDATA = $docs->createCDATASection('http://kody.wig.pl/');
$element_url = $element_page->appendChild(new DOMElement('url'));
$element_url->appendChild($element_CDATA);
$xmldata = $docs->saveXML();
echo $xmldata;
4 Wrz 2008

Odczyt danych z XML

$url = 'data.txt';

$xml = @file_get_contents($url);
$xml_obj = simplexml_load_string($xml);     

foreach($xml_obj->page as $page) {
    echo $page->title.': ';
    echo $page->url.'<br>';
}

Pprzykłądowy XML:

<?xml version="1.0" encoding="UTF-8"?>
<pages>
    <page>
    <id>1</id>
    <title><![CDATA[miejsce mapa Sopot]]></title>
    <url><![CDATA[ <a href="http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,mapa.html">http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,mapa.html</a> ]]></url>
    <thumb><![CDATA[ <a href="http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,miejsca.html">http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,miejsca.html</a> ]]></thumb>
    </page>
    <page>
    <id>2</id>
    <title><![CDATA[miejsce mapa Gdynia]]></title>
    <url><![CDATA[ <a href="http://mapy.emiejsca.pl/gdynia_gdynia_gdynia_pomorskie,mapa.html">http://mapy.emiejsca.pl/gdynia_gdynia_gdynia_pomorskie,mapa.html</a>]]></url>
    <thumb><![CDATA[ <a href="http://mapy.emiejsca.pl/gdansk_gdansk_gdansk_pomorskie,miejsca.html">http://mapy.emiejsca.pl/gdansk_gdansk_gdansk_pomorskie,miejsca.html</a>]]></thumb>
    </page>
</pages>
1 Wrz 2008

Odczyt pogody z xml

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <prognoza>
    <id>Egipt</id>
      <temp>
        <w>  7.0</w>
        <w>  8.0</w>
      < w>  9.0</>
    </temp>
  </prognoza>
</root>
$root = simplexml_load_file('test.xml');
$wt = $root->prognoza->temp->w;
print_r($wt); echo '<br>';

foreach($wt as $w){
    echo 'temp:' .$w. '<br/>';
}

Wynik:
SimpleXMLElement Object ( [0] => 7.0 )
temp: 7.0
temp: 8.0
temp: 9.0