Avatar
smoukey
Člen
Avatar
smoukey:

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. ledna 20:27
Avatar
Vít Pleskot
Člen
Avatar
Vít Pleskot:

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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět 15. ledna 9:37
Avatar
smoukey
Člen
Avatar
Odpovídá na Vít Pleskot
smoukey:

Ahoj,

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

 
Nahoru Odpovědět  +1 15. ledna 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.