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

25/07/2012

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 !

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !