PHP ile bir dizeye bir xpath sonucu nasıl yapılır?

3 Cevap php
if($xmlobj = simplexml_load_string(file_get_contents($xml_feed)))
{
    $result = $xmlobj->xpath("TrafficMeta");
}

Yukarıdaki kod istenilen sonucu verir ve print_r ile bakıldığında ben (SessionId) almak istiyorum ne olduğu, bunu gösterir:

Array ( [0] => SimpleXMLElement Object ( [sessionId] => tbfm1t45xplzrongbtbdyfa5 ) )

Nasıl bir dizeye bu SessionId yapabilirsiniz?

3 Cevap

Fonksiyonu SimpleXMLElement nesneleri dizisini döndürür. Bunu ilk dizi girişinin $ sessionId üye erişmek için:

echo $result[0]->sessionId;

Olsa da, dizideki daha unsurlar olabileceğini unutmayın. Ya tam olarak bir veya süreç hepsi gerçekten var olduğunu iddia gerekir:

# either one of these
assert(count($result) === 1);
if (count($result) !== 1) throw new Exception('Unexpected data in xml');
# or this
foreach ($result as $object) {
    echo $object->sessionId;
}

Ben XPath kullanarak işe almak, ama $result[0]['sessionId'] çalışıyor olamaz. Gerçek bir dize gerekiyorsa strval() bunu kullanmak.

Try $result[0]->sessionId.