SimpleXMLElement'i normal bir STDClass nesnesine, her bir dalı el ile yineleme yapmadan dönüştürmenin hızlı bir yolu bilen var mı? Verileri aldıktan sonra normal bir nesne ile çalışmak daha iyi olur.SimpleXMLObject öğesini STDClass konumuna hızlı dönüştürebilirsiniz?
cevap
Ben bir dilek veri ayıklama ve ne olursa olsun veri türü olarak saklayarak iyi kendisi verir XMLReader, yerine SimpleXML kullanarak bakarak öneririz. Düzenli olarak kullanılan belgeler için özellikle kullanıyorum (kullanıyorum, RSS için RSSReader, genişletilmiş), beklenenden daha hızlıdır ve bir bonus olarak SimpleXML'dan daha az bellek kullanır.
Teşekkürler GZipp, buna bakacağım. –
Nesneyi yineleme yapmadan dönüştürmenin bir yolu olup olmadığını bilmiyorum. Tahminimce yapamazsın.
Bu thread çıkışını kontrol edebilirsiniz, bir SimpleXML'i bir diziye dönüştürmeyi nasıl gösterir, buna göre uyarlayabilirsiniz.
Reddetme nedeni mi? –
$my_std_class = json_decode(json_encode($my_simplexmlelement));
$my_assoc_array = json_decode(json_encode($my_simplexmlelement), true);
Bu bir çekicilik gibi çalışır! – Eric
+1, süper çözüm, harika çalışıyor. – Cyclonecode
+1, Bu kesinlikle seçilen cevap olmalıdır. StdClass'a dönüştürmem için gerekenin nedeni, Drupal'ın SimpleXmlElement nesnesiyle ilgili sorunları olmasıdır. –
başka yoludur: Maalesef
(object)(array)$my_simplexmlelement
çocuklar varsa onlar SimpleXMLElement olarak kalır
O SimpleXMLElement tüm kamu özelliklerini ithal demek- 1. 'wchar_t *' öğesini 'const char *' konumuna dönüştürme
- 2. Pandalar: dtype 'object' öğesini int konumuna dönüştürün
- 3. stdClass nesnelerini diziden temizle
- 4. stdClass Nesnesi sorunları
- 5. PHP/JSON - stdClass Object
- 6. RPM oluştururken, .spec dosyasının konumuna göre _topdir öğesini nasıl yaparsınız?
- 7. Pan hareketinden sonra görünümü orijinal konumuna döndürme, hızlı kaydırma
- 8. Değeri (stdClass) nesnesinden nasıl alabilirim?
- 9. PHP JSON kod çözme - stdClass
- 10. Spring - javax.mail.session dosyasını dönüştürebilirsiniz
- 11. request.cookiejar dosyasını qnetworkcookiejar dönüştürebilirsiniz?
- 12. BDC veritabanını sql'ye dönüştürebilirsiniz
- 13. pdf ve kelime dönüştürebilirsiniz
- 14. Posta kutusuna dönüştürebilirsiniz
- 15. NUM INT R dönüştürebilirsiniz?
- 16. blockmodel: json - .x3d dönüştürebilirsiniz
- 17. Kadar kaydırıldığında orijinal konumuna geri dönmek için bir Div yapın
- 18. SOAP <stdClass> ile etiketlenmiş etiketler
- 19. PHP: Diziyi StdClass nesnesine nasıl dönüştürebilirim?
- 20. Kullanıcının konumuna git Android
- 21. JAR dosyasının konumuna gidin
- 22. Liste elemanının konumuna getirin
- 23. Karakteri BigInteger konumuna dönüştürün
- 24. Görünür spektrumdaki konuma göre System.Media.Colors öğesini sıralayın
- 25. SqlAlchemy orm sonucunu dict dönüştürebilirsiniz
- 26. PHP mktime sonucunu UTC dönüştürebilirsiniz
- 27. Nasıl MySql için int dönüştürebilirsiniz
- 28. Nasıl org.apache.spark.mllib.linalg.VectorUDT için ml.linalg.VectorUDT dönüştürebilirsiniz
- 29. Jlang'ı arabirimde {} inlanguma nasıl dönüştürebilirsiniz?
- 30. hızlı dönüşüm
? Hızlı göreceli :) – Flavius
"Daha iyi hissedeceksin" geçerli bir neden değil imo :) Bir stdClass ile çalışmak için gerçek sebebi nedir? – chelmertz
Eh, bir XML dosyasından veri alıyorum ve daha sonra karmaşık bir sistemde işliyorum. Bu noktadan herhangi bir XML/SimpleXML özel davranışına ihtiyacım yok, sadece ham veri. PHP'nin XML işlevleri, dilin diğer bölümleri kadar iyi belgelenmemeye meyillidir ve ben hala bir basitXML öğesi olmakla birlikte verileri yol boyunca manipüle ederken beklenmedik davranışlardan korkuyorum. STDClass ile ne beklediğimi, nasıl manipüle edileceğini, verileri doğrulayacağını vb. Biliyorum. Bu "daha iyi hissediyorum" uzun sürümüdür. Daha iyi hissetmek? :) –