Mar
19

Php’ de Xml’ den MySql’ e veri aktarımı

Yazar Enes Pekkaya    Kategori Php     Etiketler , ,

Php’ de  mysql’deki veriyi xml’e kaydetmenin zorluğu yoksa bu işlemin tam tersini yapmaktada çok fazla kafa patlatılcak konu değildir.

Yalnızca bu olayı yapabilmek içib bazı durumları size açıklamak istiyorum;


$doc = new DOMDocument();
$doc->load( 'Turkey_CityCode.xml' );
$cities = $doc->getElementsByTagName( "city" );

Biz DocDocument adlı classı kullancaz.  $doc->load(‘XML Dosyası’) ile xml dosyasının içindekileri alıyoruz. ve “TagName” ‘leri city olan verileri alıp $cities değişkenine hepsini atıyoruz .


<city code="01">
<telcode>(0 322)</telcode>
<name>Adana</name>
</city>
<city code="02">
<telcode>(0 416)</telcode>
<name>Adıyaman</name>
</city>


foreach( $cities as $city )
{
$names = $city->getElementsByTagName( "name" );
$codes = $city->getElementsByTagName( "telcode" );
$name = $names->item(0)->nodeValue;
$code = $codes->item(0)->nodeValue;

mysql_query("SET CHARACTER SET utf8");
$sql = "INSERT INTO telcode (cntId,name) VALUES (212,'$name $code')";
@mysql_query($sql);
}

foreach metoduyla değerlerini almış olduğumuz ($cities) değerleri sırasıyla $city değişkenine atadık. Şimdi biz sadece bir tane “city” tagiyle uğraşcaz.  Şimdi bu “city” taginin içinde bulunan alt tag “name”  ve “telcode”‘ u alıyoruz ve bunların ilk değerlerini alarak veritabanına kaydediyoruz.

Bu şekilde bütün verileri sırasıyla alıp işlemimizi bitiriyoruz.

Bu konunun ilgili örneğini indirmek için tıklayınız.

2 yorum bulunmaktadır - “Php’ de Xml’ den MySql’ e veri aktarımı”

  • Çağrı 06 Aralık 2011, 13:58

    Anlatım için teşekkürler fakat aklıma takılan bir nokta var, örneğin xml dosyamızda

    şeklinde bir girdi var, ben bunu veritabanımda “countries” tablosu içinde name-code-url değerlerini ayrı ayrı kayıt etmek istiyorum, bunu nasıl yapabilirim?

    Teşekkürler…

  • Enes Pekkaya 06 Aralık 2011, 17:08

    herhalde wordpress sizin yazmış olduğunuz kod parçasını silmiş. 🙂 Eğer kod şeklinde değilde yazı şekline yazarsanız size yardımcı olmaya çalışayım.

Yorum Yapın

 

Twitter'dan Takip Et! Twitter'dan Takip Et!

Etiketler

Son Yazılar

Son Yorumlar

Haftanın Özlü Sözü

Akıllı bir adam yalnız kendi tecrübelerinden, çok akıllı bir adam başkalarının da tecrübelerinden yararlanır. (Çin Atasözü)

Bağlantılar

Arşivler