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

Bağlantılar

Arşivler