Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 80% výuky zdarma!
https://www.itnetwork.cz/csharp
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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět
15.1.2016 9:37
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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.