PHP XML Ayrıştırma

PHP XML Nasıl Ayrıştırılır? php ile xml işlemleri, php xml parser.


PHP XML ayrıştırıcı, bir XML belgesini veya kodunu XML Belge Nesne Modeli (DOM) nesnesine çevirmeye izin veren bir programdır.

PHP'de, XML verilerini işlememize ve almamıza izin veren SimpleXML adlı bir uzantımız var.

SimpleXML, PHP'de bulunan bir XML ayrıştırıcıdır. Bir öğenin adını, niteliklerini ve içeriğini almanın kolay bir yolunu sağlar.

Diyelim ki bir XML verimiz var:

<?xml version='1.0'?>
<studentinfo>
	<student>
		<name>John</name>
		<gender>M</gender>
		<age>23</age>
	</student>
	<student>
		<name>James</name>
		<gender>M</gender>
		<age>23</age>
		</student>
	<student>
		<name>Jack</name>
		<gender>M</gender>
		<age>20</age>
	</student>
</studentinfo>

Şimdi nasıl ayrıştırılacağını görelim. XML verilerini doğrudan PHP değişkeninde saklayabiliriz veya bir XML dosyasına kaydedebiliriz. Ben onu bir değişkende saklıyorum.

<?php 
	$xmlFile = "<?xml version='1.0'?>
	<studentinfo>
		<student>
			<name>John</name>
			<gender>M</gender>
			<age>23</age>
		</student>
		<student>
			<name>James</name>
			<gender>M</gender>
			<age>23</age>
			</student>
		<student>
			<name>Jack</name>
			<gender>M</gender>
			<age>20</age>
		</student>
	</studentinfo>";
?>

Şimdi XML dizesini bir nesneye dönüştürmek için simplexml_load_string yöntemini kullanıyoruz.

<?php 
//XML Dosyanız varsa
/* $xml = simplexml_load_file('filename.xml'); */ 

//XML dizesini bir nesneye dönüştür
$xml = simplexml_load_string($xmlFile); 
?>

Böylece, bir dizgiyi bir nesneye dönüştürdük. Artık elementlerin değerini kolayca alabiliriz.

Değer Alma

<?php
$data= $xml->student->name;
echo $data;
?>

Belirli Elemanların Değerini Alma

<?php
$stData= $xml->student[1]->name;
echo $stData;
?>

Değer Al – Döngü

<?php
foreach($xml->children() as $xmlData){
	echo $xmlData->name . ", ";
	echo $xmlData->gender . ", ";
	echo $xmlData->age . "<br>";
}
?>