PHP_XML_Expat

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Angelo</to>
<from>Jason</from>
<heading>Reminder</heading>
<body>Don't forget the meeting tonight!</body>
</note>

<?php
//Initialize the XML parser
$parser = xml_parser_create();

//Function to use at the start of an element
function start($parser, $element_name, $element_attrs){
    switch($element_name){
        case "NOTE": //must be in upper case
            echo "--Note--<br/>"; 
            break;
        case "TO":
            echo "To: ";
            break;
        case "FROM": 
            echo "From: ";
            break;
        case "HEADING":
            echo "Heading: ";
            break;
        case "BODY":
            echo "Message: ";
        }
}

//Function to use at the end of an element
function stop($parser, $element_name){
    echo "<br>";
}

//Function to use when finding character data
function char1($parser, $data){
    echo "<b>$data</b>";
}

//Specify element handler
xml_set_element_handler($parser, "start", "stop");

//Specify data handler
xml_set_character_data_handler($parser, "char1");

//Open XML file
$fp = fopen("test.xml", "r");

//Read data
while($data = fread($fp, 4096))
{
    xml_parse($parser, $data, feof($fp)) or
    die (sprintf("XML Error: %s at line %d",
    xml_error_string(xml_get_error_code($parser)),
    xml_get_current_line_number($parser)));
}

//Free the XML parser
xml_parser_free($parser);
?>

Output:

--Note--
To: Angelo
From: Jason
Heading: Reminder
Message: Don't forget the meeting tonight!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值