Hledat
Přihlásit se
  • Věda a technika
  • Herní doupě
  • Tipy pro PC
  • IT Byznys
  • Mobily
  • Počítače
  • Počítače
  • Témata
  • Poradna
  • Diskuzní fórum
  • Video
  • Bazar
  • Blogy
  • MĚŘENÍ RYCHLOSTI
  • RSS
  • Facebook Twitter Google+ YouTube
  • Hardware
  • Software
  • Počítače
  • Notebooky
  • Služby na webu
  • Apple
  • Google
  • Microsoft
  • Seznam
  • Tiskové zprávy
Další témata
  • Týden Živě
  • Zprávy Živě
  • Testy
  • Pitvy
Všechna videa
X

Doporučit článek

Vaše jméno:

Váš e-mail:

E-mail adresáta:

Komentář:

kontrolní kód

Odeslat

Blogy Živě » O programování a všem okolo

O programování a všem okolo

Články vytvořil Jiří Hrebenar
 

SimpleXML - jednoduše na XML v PHP 2.díl

11. 12. 2009, gisat_cz

Jsem tu opět s povídáním o používání SimpleXML v PHP. V minulém díle jste se dozvěděli základy používání a hlavně také jakým způsobem číst jednoduše dokument XML. Dnes bychom se měli zabývat čtením smíšeného obsahu.

Čtení smíšeného obsahu:

Jak již bylo v úvodu řečeno, v minulém díle jste se naučili jakým způsobem lze velmi jednoduše číst data z dokumentu XML. Pro občerstvení paměti zde uvedu jednoduchý příklad:

<?xml version=”1.0″ encoding=”utf-8″?>
<firma>
<zamestnanec>
<jmeno>Jiří</jmeno>
<prijmeni>Krátký</prijmeni>
</zamestnanec>
</firma>

a čteme:

<?php
$xml=simplexml_load_file(”zamestnanci.xml”);
echo $xml->zamestnanec->jmeno;
?>

Jak vidíte, čtení je velmi jednoduché. Ale jak byste přečetli tento soubor:

<?xml version=”1.0″ encoding=”utf-8″?>
<firma>
<zamestnanec>
<jmeno>Jiří<druhe_jmeno>-David-</druhe_jmeno>Krátký</jmeno>
</zamestnanec>
</firma>

chci vypsat celé informace, tedy celé jméno i druhé jméno, přesně tak jak je to v XML dokumentu. Nyní by bylo možná dobré říct co to je smíšený obsah. Smíšený obsah je takový obsah kdy do vnitřku jednoho elementu je vložen jiný element, například takto:<jmeno>Jiří<druhe_jmeno>-David-</druhe_jmeno>Krátký</jmeno> , do těla elementu jmeno  byl vložen nový element druhe_jmeno.

Pokud bychom výše uvedený dokument přečetli tak, jak jste zvyklí:

<?php
$xml=simplexml_load_file(”zamestnanci.xml”);
echo $xml->zamestnanec->jmeno;
?>

Výsledek by byl pouze  JiříKrátký

Takovýto výsledek však nechceme, abychom docílili našeho záměru budeme muset použít lepší postup. Na čtení smíšeného obsahu existuje metoda asXML() .

Co metoda asXML() dělá? Odpověď je jednoduchá, jedná se o formátovací metodu, která převede rodičovský prvek na formát XML version 1.0.  Takže správné řešení našeho příkladu by bylo takovéto:

<?php
$xml=simplexml_load_file(”zamestnanci.xml”);
echo $xml->zamestnanec->jmeno->asXML();

//Výsledek bude Jiří-David-Krátký
?>

Možná bych se tu mohl ještě zmínit o samotné metodě asXML(). Je to poměrně zajímavá metoda, pokud ji jako parametr předáte název souboru, tak se daný element přiřazený metodě asXML() zapíše do souboru(soubor musí existovat):

$xml=simplexml_load_file(”zamestnanci.xml”);
$xml->zamestnanec->jmeno->asXML(”x.txt”);

v souboru x.txt bude zapsáno toto: <jmeno>Jiří<druhe_jmeno>-David-</druhe_jmeno>Krátký</jmeno>, princip je takový ,že jestliže do parametru metody uvedete název souboru, funkce vrací booleanovské hodnoty true nebo false, pokud do parametru nic neuvedete, metoda vrací text.

Použití této metody může být mnohdy užitečné, další ukázky použití uvedu v některém dalším díle věnovaném SimpleXML.


Publikováno v rubrice PHP, XML. Reakce v diskuzi lze sledovat prostřednictvím RSS 2.0. Můžete přidat komentář, nebo se na článek odkázat ze svého webu.

« Facebook je členem a sponzorem Apache Software Foundation
Javascript bude mít přístup k souborům? »
 

Přidat komentář

*
Opište prosím text z obrázku.
Anti-Spam Image

O programování a všem okolo využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články a komentáře



  • Archivy

    • Duben 2012
    • Květen 2011
    • Leden 2011
    • Prosinec 2010
    • Listopad 2010
    • Říjen 2010
    • Květen 2010
    • Březen 2010
    • Únor 2010
    • Leden 2010
    • Prosinec 2009
    • Září 2009
    • Srpen 2009
    • Červenec 2009
    • Srpen 2008
  • Rubriky

    • AJAX (7)
    • Awk a sed (2)
    • CSS, HTML (3)
    • Java (3)
    • Javascript (25)
    • Javascript frameworky (4)
    • Nezařazené (11)
    • Opensource (21)
    • Ostatní (10)
    • PHP (7)
    • PHP,MySQL a APACHE (1)
    • Ruby (16)
    • Sociální sítě (15)
    • UNIX (5)
    • XML (3)
    • Zprávy (61)
  • Spřátelené blogy

    lara.111: my clever blog
  • Twitter

    • Don't judge what people do, until you know what they've been through
    • My new facebook cover pic ♥♥♥ #pinkies #pinkfamily @pink http://t.co/YzU4VD8z
    • http://t.co/wBp1dMQp
    • http://t.co/eoy51U52
    • P!nk - Sober http://t.co/aweFtMui
  • Administrace

    • Přihlásit se


Předplatné Computer

Aktuální číslo časopisu Computer
  • Testy nejnovějších produktů na českém trhu.
  • Informace ze světa internetu i bezpečnosti.
  • Plné verze programů zdarma pro všechny čtenáře.
Archiv Předplatné
Elektronické předplatné Tištěné předplatné