လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> XML ဖိုင်များရှိ attribute များနှင့်ဒြပ်စင်များကိုခွဲထုတ်ရန် XML_Parse ကိုသုံးပါ

XML ဖိုင်များရှိ attribute များနှင့်ဒြပ်စင်များကိုခွဲထုတ်ရန် XML_Parse ကိုသုံးပါ

M66 2025-05-13

PHP တွင် XML ဖိုင်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းသည်ဒေတာဖလှယ်ခြင်းနှင့် configuration files များကိုကိုင်တွယ်ရန်အသုံးများသောနည်းလမ်းဖြစ်သည်။ XML_Parse () function သည် PHP မှပေးသောဖြစ်ရပ်တစ်ခုကိုမောင်းနှင်ထားသော XML parsing နည်းလမ်းဖြစ်သည်။ အခြား parser function များကိုပေါင်းစပ်ခြင်းအားဖြင့် XML ဖိုင်များရှိဒြပ်စင်နှင့် attribute များကိုဖတ်ရှုနိုင်သည်။ XML_Parse () ကို XML_Parse () ကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အား XML_Parse () Element အကြောင်းအရာနှင့် attribute အချက်အလက်များကိုထုတ်ယူရန်နားလည်ရန်တစ်ဆင့်ချင်းသွားပါလိမ့်မည်။

1 ။ XML နမူနာဖိုင်ကိုပြင်ဆင်ပါ

ခွဲခြမ်းစိတ်ဖြာလေ့ကျင့်ခန်းများအတွက်ရိုးရှင်းသော XML ဥပမာတစ်ခုကို ဦး စွာပြင်ဆင်ပါ။ ဖိုင်ကို ဥပမာ အမည်ရှိကြောင်းအမည်ရှိကြောင်းယူဆပါ, အကြောင်းအရာသည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?xml version="1.0" encoding="UTF-8"?>
<books>
    <book id="101" genre="fiction">
        <title>PHP စတင်အသုံးပြုခြင်း</title>
        <author>Zhang San</author>
    </book>
    <book id="102" genre="programming">
        <title>နက်ရှိုင်းသောနားလည်မှု PHP</title>
        <author>li si</author>
    </book>
</books>

2 ။ XML parser တစ်ခုဖန်တီးပြီးအပြောင်းအလဲနဲ့လုပ်ဆောင်ချက်များကိုတပ်ဆင်ပါ

PHP ၏ XML parsing သည်ဖြစ်ရပ်-based ချဉ်းကပ်နည်းကိုအသုံးပြုသည်။ ကျွန်ုပ်တို့သည်ကိုင်တွယ်သူများစွာကိုသတ်မှတ်ရန်နှင့် parser ကိုချည်ထားရန်လိုအပ်သည်။

 <?php

$parser = xml_parser_create();

function startElement($parser, $name, $attrs) {
    echo "Element ကိုစတင်ပါ: $name\n";
    if (!empty($attrs)) {
        echo "ဉစ်စာပစ္စည်းများ:\n";
        foreach ($attrs as $key => $value) {
            echo " - $key = $value\n";
        }
    }
}

function endElement($parser, $name) {
    echo "Ender: $name\n";
}

function characterData($parser, $data) {
    $data = trim($data);
    if (!empty($data)) {
        echo "ကေြနပ်သော: $data\n";
    }
}

// Transuation function ကိုခညျြနှောငျ
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "characterData");

3 ။ XML အကြောင်းအရာကိုဖတ်ပါ

ယခုကျွန်ုပ်တို့သည် ဥပမာ ကိုဖတ်ပြီး parser ကို သုံး. ၎င်းကိုခွဲခြမ်းနေပါ။

 $fp = fopen("example.xml", "r");
if (!$fp) {
    die("ဖိုင်ကိုဖွင့ ်. မရပါ");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($parser, $data, feof($fp))) {
        die(sprintf(
            "XML အမှား: %s အတွက် %d အိုကေ",
            xml_error_string(xml_get_error_code($parser)),
            xml_get_current_line_number($parser)
        ));
    }
}

xml_parser_free($parser);
fclose($fp);
?>

ဇာတ်ညွှန်းကိုဖွင့်ပြီးနောက်, Terminal သည် element တစ်ခုစီ၏အစနှင့်အဆုံး, ဥပမာအားဖြင့်:

 Element ကိုစတင်ပါ: BOOKS
Element ကိုစတင်ပါ: BOOK
ဉစ်စာပစ္စည်းများ:
 - ID = 101
 - GENRE = fiction
Element ကိုစတင်ပါ: TITLE
ကေြနပ်သော: PHP စတင်အသုံးပြုခြင်း
Ender: TITLE
Element ကိုစတင်ပါ: AUTHOR
ကေြနပ်သော: Zhang San
Ender: AUTHOR
Ender: BOOK
...

4 ။ လက်တွေ့ကျသော application များသုံးပါ

XML_Parse () function ကို Processor function ကိုပေါင်းစပ်ပြီး, ဒေတာကိုထုတ်ယူရမယ်,

 echo "<a href='https://m66.net/book.php?id=101'>စစ်ဆေး《PHP စတင်အသုံးပြုခြင်း》</a>";

ဤနည်းလမ်းသည်ဒေတာစာဖတ်ခြင်းလုပ်ငန်းစဉ်ကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအတွက်အလွန်လက်တွေ့ကျသည်။

5 ။ အကျဉ်းချုပ်

XML_Parse () XML အချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန်ပေါ့ပါး။ အလျင်အမြန်နည်းလမ်းကိုပေးသည်။ ၎င်းသည် Dom Parser ထက် ပို. အခြေခံကျသည်မှာမူစွမ်းဆောင်ရည်လိုအပ်ချက်များမှာမြင့်မားသောသို့မဟုတ်ဒေတာအဆောက်အအုံများကိုလူသိများသောအခြေအနေများအတွက်အလွန်သင့်လျော်သောရွေးချယ်မှုဖြစ်သည်။ အဖြစ်အပျက်ကိုမောင်းနှင်ခြင်းဖြစ်သည့်ခွဲခြမ်းစိတ်ဖြာခြင်းသည် XML ဖိုင်များကိုပိုမိုနက်ရှိုင်းစွာ၏ဖွဲ့စည်းပုံနှင့်အချက်အလက်ပြုပြင်ထုတ်လုပ်မှုယန္တရားကိုပိုမိုနက်ရှိုင်းစွာနားလည်သဘောပေါက်ရန်ကူညီလိမ့်မည်။

ဆက်စပ်အကြောင်းအရာ