Anasayfa > Kodlar > PHP ile xml sayfasını parsellemek

PHP ile xml sayfasını parsellemek

bu konuda size php ve xml iletişimini bildiğim kadarıyla aktarmaya çalışacağım.

xml nin html den farkı kendi belirlediğimiz taglarla çalışabiliyoruz.
bir xml kodlamasında elementler,nitelikler ve datalar bulunur.

<zeytinyaglar>
<oil >Yeni Hasat</oil>
<oiltype>sizma<</oiltype>
<oil >1 asit</oil>
<oiltype>sizma<</oiltype>
<oil >gulpinar</oil>
<oiltype>riviera<</oiltype>
<oil >1.5 asit</oil>
<oiltype>riviera<</oiltype>
</zeytinyaglar>

bu kodları deneme.xml olarak kaydedelim.
artık php kodlarımızı yazmaya başlıyoruz.

$zeytinyaglist = “”;
$fla = “”;

function openElement($parser, $element) {
global $fla;
if (($element == ’oil’)) $fla = true;
elseif (($element == ’oiltype’)) $fla = true;
}

function closeElement($parser, $element) {

global $fla;
$fla=false;
}

function characterData($parser, $data) {
global $fla,$mblist;

if ($fla) $zeytinyaglist[] = $data; //true değerleri kontrol ediyoruz.
}

$parser = xml_parser_create();

xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($parser, “openElement”, “closeElement”);
xml_set_character_data_handler($parser, “characterData”);

$document = file_get_contents(“deneme.xml”);
xml_parse($parser, $document);

xml_parser_free($parser);

Yukardaki kodları xml.php
şeklinde açtığımız sayfamıza yapıştıralım.
$zeytinyaglist[] dizisi için döngüyü yazdığımızda çıktıları alırız.
Ben for döngüsü kullandım.

Kategoriler:Kodlar Etiketler:, , , , ,
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: