IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
smoukey
Člen
Avatar
smoukey:14.1.2016 20:27

Zdravím mám problém s čtením xml souboru přes php.

Mám složitý xml soubor (vkládám jen jeden řádek, který konkrétně potřebuju, soubor má jinak 2 000 řádků)

<meteohub>
  <data timeframe="actual">
    <item sensor="th0" cat="temp" unit="c">1.7</item>
 </data>
</meteohub>

a potřbeuji vypsat hodnotu tohodle itemu, ale potřebuju se k tomu dostat přes attributy tagu <item>, jinými slovy, potřebuju hodnotu itemu, kde se všechyn atributy rovnají tomu, co potřebuji, respektivě tomu, co zadám.

Pro vysvětlení:
Jedná se o meteo stanici, která mi vrací tento xml soubor a má několik sensorů a zrovna tento je pro vypsání venkovní teploty.

Nikde jsem nenašel návod jak přistoupit k hodnotě přes několik atributů s určitou hodnotou.
Předem děkuji za rady.

 
Odpovědět
14.1.2016 20:27
Avatar
Vít Pleskot
Člen
Avatar
Vít Pleskot:15.1.2016 9:37

Ahoj,
nejsem vyvojar ani programator, takze nekdo poradi treba lepe, ale zkusil jsem to takhle:

$reader = new XMLReader();
$reader->open("meteo.xml");
while ($reader->read()) {
    if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == "item" && $reader->getAttribute('sensor') == "th0") {
        echo $reader->readString();
    }
}

A vysledkem je 1.7.

Snad ti to pomuze.
Vit

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
15.1.2016 9:37
Avatar
smoukey
Člen
Avatar
Odpovídá na Vít Pleskot
smoukey:15.1.2016 9:50

Ahoj,

pomohlo to. Moc děkuji, lámal jsem si tady nad tím hlavy několik hodin.

 
Nahoru Odpovědět
15.1.2016 9:50
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.