Hướng dẫn truy xuất dữ liệu XML bằng PHP

hoc php, lập trình php, php code, php tutorial ,thu thuat php, xml

Nếu bạn đang gặp khó khăn trong việc lấy dữ liệu từ file XML thì ví dụ mà mình chia sẻ sau đây sẽ giúp bạn dễ dàng quản lý và làm chủ được file XML, ví dụ rất đơn giản nhưng thật sự hữu ích cho những bạn mới lập trình, các bạn đừng nên bỏ qua.
Sau đây là ví dụ của mình :

<?php

$xml = '<Countries>

<Country>

<Page1_col1>Country1</Page1_col1>

<Page1_col2>89,921</Page1_col2>

<Page1_col2>61</Page1_col2>

<Country_sub_details>

<Page2_col1>A1</Page2_col1>

<Page2_col2>1,187</Page2_col2>

<Page2_col3>45</Page2_col3>

<Country_sub_sub_details>

<Page3_col1>AA1</Page3_col1>

<Page3_col2>375</Page3_col2>

<Page3_col3>45</Page3_col3>

</Country_sub_sub_details>

</Country_sub_details>

</Country>

</Countries>';

// load nội dung file XML và tạo một đối tượng (object ) cho XML

$xmlobj = simplexml_load_string($xml);

// lấy và xuất ra tên của phần tử đầu tiên (root)

echo 'root: '. $xmlobj->getName() . '<br />';

// vòng lặp cho lớp con đầu tiên

foreach($xmlobj->children() as $child) {

echo $child->getName(). ': '. '<br />'; // Xuất ra tên

// Nếu lớp con này có lớp con nó thì

if($child->count()>1) {

foreach($child as $child2) {

echo $child2->getName(). ': '. $child2. '<br />';

// if the child2 node has other children

if($child2->count()>1) {

// Nếu  child2 có lớp con nưa thì in tên và nội dung của  $child3

foreach($child2 as $child3) {

echo $child3->getName(). ': '. $child3. '<br />';

// Tương tự như ở trên

if($child3->count()>1) {

foreach($child3 as $child4) {

echo $child4->getName(). ': '. $child4. '<br />';

}

}

}

}

}

}

}

?>

Hy vọng với đoạn code nhỏ này có thể giúp các bạn hiểu và nắm rõ hơn về quản lý file XML, chúc các bạn thành công !

 

 HỖ TRỢ TRỰC TUYẾN