Geniş Ekran Modu Otomatik Ekran Boyutu Font Boyutunu Azalt Font Boyutunu Azalt Font Boyutunu Normal Yap Yazdır

Php5 İle Xml Dosya Oluşturmak

İngilizce bir makaledir.

Php5 İle Xml Dosya OluşturmakXML Review

As a (very) quick reminder about what XML is, you work with tags much like you do in HTML, but with two very important distinctions:

  1. (restriction) You must close every tag
  2. (benefit) You get to define the name of these tags in your XML document

In other words, what you are doing is creating a “tree” of XML entities where you are defining the data structure for the objects you want to manage (or allow others to manage).

By way of example, you might have the following XML file represent the teams in Major League Baseball.

 

<?xml version="1.0" encoding="iso-8859-1"?>
<teams>
        <team>
                <name>Atlanta Braves</name>
                <stadium>Turner Field</stadium>
                <league>National</league>
        </team>
        <team>
                <name>Chicago Cubs</name>
                <stadium>Wrigley Field</stadium>
                <league>National</league>
        </team>

        ...

        <team>
                <name>Baltimore Orioles</name>
                <stadium>Camden Yards</stadium>
                <league>American</league>
        </team>

        ...

</teams>
 

 

Creating XML in DOM

The general workflow for creating an XML document using DOM is (where Steps 2 and 3 are repeated to complete the XML):

  1. Create a new DOM document
  2. Create elements
  3. Append children

In our example (considering only the first two teams), the code would be:

 

<?php

// xml_teams_dom.php

// create the new XML document
$dom = new DOMDocument('1.0', 'iso-8859-1');

// create the root element
$list_of_teams = $dom->createElement('teams');
$dom->appendChild($list_of_teams);

// create the first team element
$team = $dom->createElement('team');
$list_of_teams->appendChild($team);

// now create all the subelements for the team
$name = $team->appendChild($dom->createElement('name'));
$name->appendChild($dom->createTextNode('Atlanta Braves'));

$stadium = $team->appendChild($dom->createElement('stadium'));
$stadium->appendChild($dom->createTextNode('Turner Field'));

$league = $team->appendChild($dom->createElement('league'));
$league->appendChild($dom->createTextNode('National'));

// create the second team element
$team = $dom->createElement('team');
$list_of_teams->appendChild($team);

// now create all the subelements for the second team
$name = $team->appendChild($dom->createElement('name'));
$name->appendChild($dom->createTextNode('Chicago Cubs'));

$stadium = $team->appendChild($dom->createElement('stadium'));
$stadium->appendChild($dom->createTextNode('Wrigley Field'));

$league = $team->appendChild($dom->createElement('league'));
$league->appendChild($dom->createTextNode('National'));

$xml_result = $dom->saveXML();

// simple mechanism to see the XML

print <<<XML_SHOW
<textarea cols='80' rows='40' name='xml_result'>$xml_result</textarea>
XML_SHOW;

?>
 

 

XML Parsing

Now that we have an XML structure, how exactly do we interrogate it for information?

The general workflow for parsing an XML document for specific elements is:

  1. Create a new DOM document
  2. Load an XML tree into the DOM document
  3. Query the new XML tree and loop through the desired elements

In our case, we might add the following code to our script:

 

<?php

// pull in the work we've just done
$team_xml = new DOMDocument();
$team_xml->loadXML($xml_result);

// statement block to get at the elements of the xml document
$team_list = $team_xml->getElementsByTagName('team');
foreach ($team_list AS $team) {
        foreach ($team->childNodes AS $item) {
                print $item->nodeName . " = " . $item->nodeValue . "<br />";
        }
}

?>

 

This obviously only scratches the surface of using XML in PHP 5. XML is an extremely important tool in PHP (and everywhere else), particularly in the development of web services.

 

If you need to create XML files in PHP, you can do it without having to create the tags yourself with strings. This code shows you how to use the new_child functions to create an XML file.

 

<?
$doc = new_xmldoc('1.0');
$root = $doc->add_root('members');
$member = $root->new_child('member','');

$member->new_child('lastName','John');
$member->new_child('firstName','Adams');
$member->new_child('contribution','3400');

$member = $root->new_child('member','');

$member->new_child('lastName','Debra');
$member->new_child('firstName','Hones');
$member->new_child('contribution','2400');

$member = $root->new_child('member','');

$member->new_child('lastName','Jake');
$member->new_child('firstName','Tudor');
$member->new_child('contribution','1200');

$fp = @fopen('members.xml','w');
if(!$fp) {
    die('Error cannot create XML file');
}
fwrite($fp, $doc->dumpmem());
fclose($fp);
?>

  would create the following XML file.

 

<members>
  <member>
    <lastName>John</lastName>
    <firstName>Adams</firstName>
    <contribution>3400</contribution>
  </member>
  <member>
    <lastName>Debra</lastName>
    <firstName>Hones</firstName>
    <contribution>2400</contribution>
  </member>
  <member>
    <lastName>Jake</lastName>
    <firstName>Tudor</firstName>
    <contribution>1200</contribution>
  </member>
</members>

 Standart olmayan başka bir yöntem

<?php
$dosya_adi = "deneme.xml";  // Oluşturulacak Dosya Adı
$host = "localhost";   //mysql adresiniz
$user = "kullaniciadi";  //veritabanı kullanıcı adı
$pass = "sifre";  //veritabanı kullanıcı şifresi
$database = "veritabani_adi";  //veritabanı adı
$linkID = mysql_connect($host, $user, $pass) or die("Veritabanına bağlanılamadı.");  //bağlantı kuruluyor
mysql_select_db($database, $linkID) or die("Veritabanı bulunamadı.");
 $resultID = mysql_query($query, $linkID) or die("Veri bulunamadı.");
$xml_output = "<?xml version="1.0" encoding="iso-8859-9"?>n";
//xml dil kodlaması belirleniyor veritabanı karakter setiyle aynı olmalı,aksi halde web sayfasında görüntülerken hata alırsınız.
$xml_output .= "<Ogrenciler>n";  //ilk xml etiketiyle başlığı açıyoruz

for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
$row = mysql_fetch_assoc($resultID);  //Veritabanında kaç satır olduğunu öğrenerek tüm satırlar için işlem yapmasını istediğimizi belirtiyoruz.
$xml_output .= "tt<isim>". $row['isim'] ."</isim>n";  //isim etiketinin içine veritabanındaki isim alanının verilerini doldurtuyoruz.
$xml_output .= "tt<soyisim>". $row['soy_isim'] ."</soyisim>n";  //aynı şekilde soy_isim alanı için
$xml_output .= "tt<okulno>". $row['okul_no'] ."</okulno>n";  //aynı şekilde okul_no alanı için
}

$xml_output .= "</Ogrenciler>";  // başta açtığımız etiketi kapatıyoruz.
$yaz=fopen($dosya_adi, "w"); //en başta belirlediğimiz isimde bir dosya yaratıyoruz.

fwrite($yaz,$xml_output);   //veritabanından gelen bilgileri açtığımız dosyaya yazdırıyoruz.
fclose($yaz);   //yazma işlemini kapatıyoruz.

?>

 

Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.

Oluşması Gereken Sonuç :

 

<?xml version=&#8221;1.0&#8243; encoding=&#8221;iso-8859-9&#8243;?>
<Ogrenciler>
<isim>Suphi Özgür</isim>
<soyisim>CANKURT</soyisim>
<okulno>2405010033</okulno>
</Ogrenciler>

 

 

Kaynak weblog.bignerdranch.com/ , www.developerfusion.co.uk/show/3944/ , www.seoyarismasi.net/php-mysql-to-xml/

22 Temmuz 2008, Salı

Yorumlar

1 yorum
EVREN ARICI 26 Ocak 2010 16:20:38, Salı
3 kayıt olduğunu varsayarsak veritabanımızda. sadece 2 sini gösteriyor ilkini gösteremiyor. Neden olabilir?
Yorumunuz
İsminiz
Emailiniz
Resiminiz (En Fazla 2MB)
Güvenlik Metni

Php Dersleri49

27 Ocak 2009, Salı
Verileri doğrulamak için PHP ile filtreleme işleml...
İngilizce bir makaledir.
Detaylar...
02 Aralık 2008, Salı
Verileri doğrulamak için PHP ile filtreleme işleml...
Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı...
Detaylar...
05 Ekim 2008, Pazar
Php Mysql to XML
Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.
Detaylar...
29 Temmuz 2008, Salı
Utf8 İle Iso-8859-9 Dönüştürmek
Bu işlemde php nin mb_convert_encoding fonksiyonunu kullanıyoruz.
Detaylar...
22 Temmuz 2008, Salı
Php5 İle Xml Dosya Oluşturmak
İngilizce bir makaledir.
Detaylar...
22 Temmuz 2008, Salı
Php4 İle Xml Dosya Oluşturmak
İngilizce bir makaledir.
Detaylar...
22 Temmuz 2008, Salı
Php İle Excel Dosyası Oluşturmak
Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka ...
Detaylar...
05 Mayıs 2008, Pazartesi
Curl(client Url Library Functions) Nedir?
Curl ile kullanıcı kontrolü nasıl yapılır?
Detaylar...
14 Nisan 2008, Pazartesi
Harici Dosya İnclude
İnclude kullanımı ve örnekler
Detaylar...
07 Nisan 2008, Pazartesi
Class İçerisinden Class Tanımlamak
İç içe klaslar oluşturmak
Detaylar...
27 Mart 2008, Perşembe
Php Regular Expression
İngilizce bir makaledir.
Detaylar...
10 Mart 2008, Pazartesi
Mysql_fetch_object, Mysql_fetch_array, Mysql_fetch...
Mysql_fetch_object, mysql_fetch_array, mysql_fetch_row, mysql_fetch_assoc, mysql_result kullanımı...
Detaylar...
10 Mart 2008, Pazartesi
Php İle Mysql Veritabanından Bilgi Çekme
Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları
Detaylar...
10 Mart 2008, Pazartesi
Mysql İle Veritabanı Bağlantı Fonksiyonları
Mysql_result, mysql_fetch_array, mysql_fetch_row, mysql_fetch_object
Detaylar...
10 Mart 2008, Pazartesi
Phpde Exception İstisna Yönetimi
Phpde istisna kontrol ve yönetimi
Detaylar...
03 Mart 2008, Pazartesi
Excepiton
Exception türkçe anlamı istisna olan kelimedir. İstisnalar php'de hata yönetimini kolay, genişletile...
Detaylar...
25 Şubat 2008, Pazartesi
Karar Kontrol Mekanizması
Php 5 ile gelen yeniliklerin başında hata kontrol mekanizmasında yapılan yenilik gelmektedir. Php 4'...
Detaylar...
16 Şubat 2008, Cumartesi
En iyi 25 php template motoru
Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gel...
Detaylar...
15 Ocak 2008, Salı
WinBinder İncelenmesi
WinBinder indirmek ve yüklemek , WinBinder Yapısı Hakkında Bilgiler , WinBinder Örnekleri , WinBinde...
Detaylar...
06 Ocak 2008, Pazar
Oop - Nesne Yönelimli Programlama
Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne...
Detaylar...
06 Ocak 2008, Pazar
Nesneye Yönelimli Php
Classlarla ilgili ingilizce bir makale
Detaylar...
31 Aralık 2007, Pazartesi
Basit Class Yapılarında Kullanılan Kelimeler
New, ::, __construct, __autoload kullanımları
Detaylar...
31 Aralık 2007, Pazartesi
Classlarda Kullanılan Özel Kelimeler
Public, private, protected, extends, _construct
Detaylar...
31 Aralık 2007, Pazartesi
$_ENV
Detaylar...
31 Aralık 2007, Pazartesi
$_sessıon
$_sessıon[] değişkeni o anki oturumla ilgili olan değişkenleri tutmakta görevli olan varsayılan olar...
Detaylar...
30 Aralık 2007, Pazar
$_FILES
Örnek kod ve açıklamalar
Detaylar...
24 Aralık 2007, Pazartesi
Dosya Sistemi
Dosya okutma ve yazdırma işlemleri dolayısıyla bir dosyanın varlığı veya yokluğu, ya da bir dosyaya ...
Detaylar...
24 Aralık 2007, Pazartesi
$_REQUEST
$_GET, $_POST, ve $_COOKIE değişkenlerini içeriğinden meydana gelen çağrışımlı bir dizidir. Bu deği...
Detaylar...
17 Aralık 2007, Pazartesi
$_cookıe
Cookie'ler web server tarafından üretilen bilgi parçalarıdır ve client bilgisayarakaydedilirler. Coo...
Detaylar...
15 Aralık 2007, Cumartesi
FCK Editörrün Siteye eklenmesi
Fck Editörün kendi Sitemize eklenmesi
Detaylar...
  • 1
  • 2

Ödev Gönder | İncelenmeyi Bekleyen Ödevler | Uygulama Resimleri | Uygulama Resmi Gönder | İnternet Üzerinden Sınav | Test Sorusu Gönder | Sınıf Karneleri | Anketler | Linkler
www.dijitalders.com

bilgidijitalders.com
Bu sayfalar en iyi 1024 x 768 ekran çözünürlüğünde görüntülenir.
Site içerikleri, site kullanıcıları tarafından yollanan içeriklerdir. Her hangi bir içeriğin lisanslı yahut şahsınıza ait olduğunu tarafımıza iletirseniz gerekli düzenlemeyi yapacağız. Kullanılan içerikler, siteyi kullanan öğrenciler ve araştırmacılar için kolaylık sağlamak amacıyla oluşturulmuştur.
Sayfada HATA! Olduğunu Düşünüyorsanız | Sık Kullanılanlara Ekle | www.dijitalders.com'u Ana Sayfam Yap | Web Tasarımcıya e-Posta
Bu site 150,591 kişi tarafından ziyaret edilmiştir.