php arasında metin olsun

2 Cevap php

Currently i am using and have looked through this code http://us.php.net/manual/en/function.xml-set-element-handler.php#85970 How do i get the text between tags?

i php5 ve XML Ayrıştırıcı kullanıyorum

2 Cevap

Bu onu açıklamak gerekir:

 xml_set_character_data_handler ( $parser, 'tagContent' );

 function tagContent ( $parser, $content )
 {
 }

Eğer ne yaptığınızı bilmiyorsanız PHP'nin XML Ayrıştırıcı kullanmayın - bu SAX olayları fikri anlamak için gerektiren bir SAX çözümleyici bulunuyor. Eğer çok hızlı bir şekilde çok büyük XML dosyaları işlemek için gereken sürece ihtiyacım yok. Olguların% 99 oranında, bunu kullanmak gerekmez. Sorunuzun dayanarak, sadece bir XML dosyası açılması ve belirli bir etiketi arıyor ve o etiketi bulunan dizeleri ayıklanan. Bunun için, siz DOM veya SimpleXML ayrıştırıcılarını kullanmalısınız. Geniş istediğini yapar ki this example code - bkz SimpleXML XPath kullanmanızı sağlar. Eğer DOM kullanmak istiyorsanız (eğer PHP sitede bunun için bakmak gerekir - Ben bir acemi gibi ben köprüleri açamazsınız - sadece eski PHP4 XML ayrıştırıcı hangi domxml ile karıştırmamak için dikkatli olmak .)

Ben bu oynanırsa ettik ve aslında SAX ayrıştırma kullanmayı öğrenmek istiyorum, Google, yardımcı olacak - ama temelleri teori şudur: Kod olaylar bir dizi olarak tam belge işleme alınacaktır. Her olay belgede şey temsil edecek - Belgenin başından başlayarak, daha sonra her bir elemanı açık ve kapalı, her bir nitelik ayrıştırıldı ve her dize ayrıştırıldı ediliyor. Açılan ediliyor eleman istediğiniz biri olup olmadığını görmek ve o mesafede - - bu ise, o zaman söylemek gerekir bir eleman açtı ve kapalı aldığında - Sen ilgilenen olayları dinler kodu olması gerekir şimdi size bir değişken için ne arıyorsanız metin metin ve mağaza için dinlemek gerekir metni işleme olay işleyicisi. Ne zaman yapılır, o zaman metin ile yapmak istediğiniz ne olursa olsun akışını kapatabilir ve yapabilirsiniz.

Eğer DOM veya SAX SimpleXML değil ihtiyacı gibi yine, soruya dayanarak, bu sesler.