2012-01-14 92 views
2

我從XML提要中提取數據並使用真棒SimpleXMLElement對其進行操作。但是,當我拉一個嚴格爲數字的節點時,我無法回顯該節點的值。如何正確使用SimpleXMLElement對PHP變量進行類型轉換?

經過調查,此處的評論http://www.php.net/manual/en/class.simplexmlelement.php#100162提到PHP有時會錯誤地指派這些節點。但是,當我將變量作爲字符串進行類型化時,它仍然不會出現。代碼如下:

$wAresult = $wunderAXmlObject->xpath("//moon_phase"); 

$current_sunrise = (string) $wAresult->sunrise[0]->hour[0] 
    . ':' . (string) $wAresult->sunrise[0]->minute[0]; 

可以解釋一下如何正確地使用類型轉換,這樣才能正常工作嗎?謝謝!

編輯:我做了一個var_dump()來幫助診斷問題。奇怪的是,這些數字似乎被設置爲字符串。在這一點上,我不確定我是否正確訪問元素,但我會繼續更新此問題。

array(1) { 
    [0]=> object(SimpleXMLElement)#336 (5) { 
     ["percentIlluminated"]=> string(2) "74" 
     ["ageOfMoon"]=> string(2) "20" 
     ["current_time"]=> object(SimpleXMLElement)#331 (2) { 
      ["hour"]=> string(2) "20" 
      ["minute"]=> string(2) "34" 
     } 
     ["sunset"]=> object(SimpleXMLElement)#337 (2) { 
      ["hour"]=> string(2) "16" 
      ["minute"]=> string(2) "39" 
     } 
     ["sunrise"]=> object(SimpleXMLElement)#338 (2) { 
      ["hour"]=> string(1) "8" 
      ["minute"]=> string(2) "03" 
     } 
    } 
} 
+0

是不是'$ wAresult [0] - > sunrise-> hour'? – zerkms 2012-01-14 04:45:00

回答

1

最有可能的應該是$wAresult[0]->sunrise->hour

+0

謝謝你,請原諒我對那個人的無知。我花了幾個小時解決了每個可能的問題LOL – crockpotveggies 2012-01-14 04:55:07

相關問題