Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.
Aktivasyon mailiniz gelmediyse buraya tıklayın.
06, 2008, 10:28:02 am
42719 Mesaj 8080 Konu Gönderen: 17912 Üye
Son üye: userboys
Turk-Php.Com Forum  |  Yardım Forumları  |  Veritabanı Yardım Forumu  |  XML => MySQL « önceki sonraki »
Sayfa: [1] Yazdır
Yazan Konu: XML => MySQL  (Okunma Sayısı 175 defa)
emreunan
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 12


Üyelik Bilgileri
XML => MySQL
« : 23, 2008, 10:06:19 pm »

Merhabalar,
Php yi öğrenmeye çalışıyorum ama gerçekten zormuş.Bir konuda daha yardımınıza ihtiyacım var. Xml verisinden haberleri çekip kendi mysql veritabanıma yazdırarak ordan kendi haber scriptimle yayınlamak istiyorum.
Xml den veri çekip, database e yazdırabileceğim örnek uygulama konusunda yardımcı olursanız sevinirim. Sanırsam burdaki zorluk, ilk verileri çektikten sonra yeni veri olup olmadığını kontrol etmek ve yeni haber eklendiğinde sadece onu database e yazmak.

Xml yi çekeceğim yer:
http://www.ajansspor.com/rss/futbol_74.xml

iyi çalışmalar,
Emre Ünan
umarım anlatabilmişimdir
Logged
tayfun_de
PHP Öğrencisi
*
Offline Offline

Mesaj Sayısı: 104


Üyelik Bilgileri
Ynt: XML => MySQL
« Yanıtla #1 : 24, 2008, 05:28:19 am »

selam,

internetten buldugum asagidaki kod la rss-feed haberlerini görüntüleyebilirsin.

Kod:
<html>
<head>
<title> read-rss-feed </title>
</head>
<body>
<dl>
<?php

class RSSParser {

var $insideitem false;
var $tag "";
var $title "";
var $description "";
var $link "";

function startElement($parser$tagName$attrs) {
if ($this->insideitem) {
$this->tag $tagName;
} elseif ($tagName == "ITEM") {
$this->insideitem true;
}
}

function endElement($parser$tagName) {
if ($tagName == "ITEM") {
printf("<dt><b><a href='%s'>%s</a></b></dt>",
trim($this->link),htmlspecialchars(trim($this->title)));
printf("<dd>%s</dd>",htmlspecialchars(trim($this->description)));
$this->title "";
$this->description "";
$this->link "";
$this->insideitem false;
}
}

function characterData($parser$data) {
if ($this->insideitem) {
switch ($this->tag) {
case "TITLE":
$this->title .= $data;
break;
case "DESCRIPTION":
$this->description .= $data;
break;
case "LINK":
$this->link .= $data;
break;
}
}
}
}

$xml_parser xml_parser_create();
$rss_parser = new RSSParser();
xml_set_object($xml_parser,&$rss_parser);
xml_set_element_handler($xml_parser"startElement""endElement");
xml_set_character_data_handler($xml_parser"characterData");
$fp fopen("http://www.ajansspor.com/rss/futbol_74.xml","r")
or die("Error reading RSS data.");
while (
$data fread($fp4096))
xml_parse($xml_parser$datafeof($fp))
or die(sprintf("XML error: %s at line %d"
xml_error_string(xml_get_error_code($xml_parser)), 
xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);

?>

</dl>
</body>
</html>
Logged
emreunan
Yeni Kullanıcılar
*
Offline Offline

Mesaj Sayısı: 12


Üyelik Bilgileri
Ynt: XML => MySQL
« Yanıtla #2 : 25, 2008, 01:16:04 pm »

Teşşekür ederim, yalnız Türkçe karakterlerin doğru çıkması,  utf kodlamasını yerleştirdiğimde sayfa açılmıyor:(
Logged
Sayfa: [1] Yazdır 
« önceki sonraki »
Gitmek istediğiniz yer:  


Turk-Php.Com Forum | SMF Forum Software © 2005, Simple Machines LLC. All Rights Reserved.