有沒有人知道一個快速的方法來將SimpleXMLElement轉換爲正常的STDClass對象,而無需手動迭代每個分支?在獲取數據之後,我會更好地使用普通對象。將simpleXMLObject快速轉換爲STDClass?
回答
我建議正在研究使用的XMLReader,這很適合提取數據,並把它作爲任何數據類型的意願,而不是的SimpleXML。這是特別好,定期使用的文件(我使用它,引申爲RSSReader,爲RSS),運行速度遠高於所預期,並且作爲獎金使用較少的內存比的SimpleXML。
謝謝GZipp,我會研究一下。 – 2009-10-18 23:32:44
我不知道是否有對象轉換,而無需通過它迭代的方式。我的猜測是你不能。
您可以檢查此thread出來,它表明你如何將SimpleXML的轉換爲數組,可以適應這一點。
downvote的原因? – 2014-08-02 17:47:07
$my_std_class = json_decode(json_encode($my_simplexmlelement));
$my_assoc_array = json_decode(json_encode($my_simplexmlelement), true);
這就像一個魅力! – Eric 2012-09-10 22:23:11
+1超級解決方案,效果很好。 – Cyclonecode 2013-02-08 20:50:23
+1,這絕對應該是選擇的答案。我需要將它轉換爲stdClass的原因是Drupal與SimpleXmlElement對象存在問題。 – 2013-03-21 20:54:27
另一種方法是:
(object)(array)$my_simplexmlelement
不幸的是如果你有孩子,他們仍然爲的SimpleXMLElement
- 1. 如何將SimpleXMLObject轉換爲PHP數組?
- 2. 快速幫助:將SQL轉換爲LINQ
- 3. 快速將Word文檔轉換爲HTML
- 4. 如何(快速)將float轉換爲Byte?
- 5. 快速的轉換
- 6. 將ascii編碼轉換爲int並在Python中快速返回(快速)
- 7. 快速從UInt8轉換爲字符串
- 8. 快速字符串爲byte []轉換
- 9. 快速轉換UIFont到CGFont?
- 10. 如何將jpg數據集快速轉換爲.pkl用於CNN?
- 11. 將無符號整數數組快速轉換爲base64
- 12. 將NULL轉換爲空白TPT快速加載
- 13. 我可以使用泛型將NSNumber快速轉換爲T嗎?
- 14. 將字符串「172406」轉換爲整數17,24,06快速
- 15. 快速將單個文件類轉換爲文件夾類
- 16. dateFromString無法將Iphone設置爲24小時快速轉換
- 17. 將數組轉換爲快速查找對象
- 18. 將快速委託轉換爲std函數
- 19. 如何將任何數字快速轉換爲真或假
- 20. 需要將快速代碼片段轉換爲Objective C
- 21. 如何快速將NSString對象轉換爲NSDate?
- 22. 將點陣列轉換爲三角形條的快速方法?
- 23. 如何快速將對象[,]轉換爲double [,]?
- 24. 如何將快門速度值轉換爲可用數據?
- 25. 任何將std :: vector轉換爲CComSafeArray的快速方法
- 26. 如何將IplImage(OpenCV)快速轉換爲ALLEGRO_BITMAP(A5)?
- 27. 將Java數組快速轉換爲NumPy數組(Py4J)
- 28. Cython將二進制字符串快速轉換爲int數組
- 29. 如何快速將所有Jade文件轉換爲Pug文件?
- 30. LINQ將「TheQuickBrownFox」轉換爲「快速棕色狐狸」的方法
你的意思是導入一個的SimpleXMLElement的所有公共屬性?快速是相對的:) – Flavius 2009-10-18 12:15:01
你會「感覺更好」不是一個有效的原因imo :)你想要一個stdClass工作的真正原因是什麼? – chelmertz 2009-10-18 12:23:04
那麼,我從XML文件中提取數據並在相當複雜的系統中處理它。從那時起,我不需要任何XML/SimpleXML特定的行爲,而只需要原始數據。 PHP的XML函數通常不像該語言的其他部分那麼好記錄,並且當它仍然是simpleXML元素時,在處理數據時我擔心意外的行爲。使用STDClass,我知道該期待什麼,如何操作它,驗證數據等等。這是「感覺更好」的長版。感覺好多了? :) – 2009-10-18 13:14:03