DAHA DOĞRU HATA çıktısını göstermek ALTINDA düzenlemeleri görmek
I'm parsing somewhat large (~15MB) XML files with PHP for the first time using SimpleXML. The files are flight search results so they have long attributes (links back to Kayak; example:
"/book/flightcode=1238917408.NxJI6G.0.F.ORBITZAIR,ORBITZAIR.0.f36f1ea92513977249aa695112410052&sid=26-Vu01v7ilzhSAjPVLZ3Ul"
Ayrıştırırken SimpleXML bu hatayı atar:
"Varlık: satır 10: ayrıştırıcı hatası: ÖğeGönd: bekliyordum ';' in "ve daha sonra;
"38917408.NxJI6G.0.F.ORBITZAIR,ORBITZAIR.0.f36f1ea92513977249aa695112410052&sid in" and then;
") [Function.simplexml-load-string] (simplexml_load_string: ^ in,"
ve benzeri, bu adresler var her hat için.
Ben SimpleXML hiçbir çözüm ile php.net uzun özelliklerini sevme değil bir söz buldum. Olmayan bir janky, biraz kolay bir çözüm olup olmadığını ben değil, sadece kullanmak ve öğrenmek SimpleXML şimdi ve bu hata geçmiş çalışacak.
Herkes bir çözüm var mı? Şimdiden teşekkürler!
Ben XML ilk 13 satırları girerek denedim ama sadece bu yüzden .... ben yardımcı olacaktır eğer yapabileceğiniz XML olmadan bilgi verir. Ben başka bir ayrıştırıcı / uzantısı kullanarak kullanım işlevselliği veya kolaylığı azaltabilir olsaydı emin değilim ama geçici (DOM veya XMLReader belki düşünüyorum ne) orada değilse başka önermek için çekinmeyin.
AZ sahte hata çıkışı eklemek için aşağıdaki EDITS:
http://dl.dropbox.com/u/10206237/stack_overflow_xml.xml
HATA 1:
simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 10: parser error : EntityRef: expecting ';' in
HATA 2: (o DOM kullanarak bir Python komut dosyası ile çalışır, çünkü bence XML gayet iyi; Python bilmiyorum çünkü ben PHP için tercüme ediyorum). Ben tarayıcıda farklı çıkış olacağını bilmiyordum. Sabrınız için teşekkürler.)
<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: 38917408.Pt8rW8.0.F.ORBITZAIR,ORBITZAIR.0.f36f1ea92513977249aa695112410052&_sid_ in
HATA 3:
function.simplexml-load-string</a>]: ^ in
(Bu alanların hepsi orada vardır)