以下是一个简单的 PHP 示例,演示如何使用 XML Expat 解析器:
<?php
// 创建 XML 解析器对象
$parser = xml_parser_create();
// 设置用于处理元素开始和结束的处理函数
xml_set_element_handler($parser, "startElement", "endElement");
// 设置用于处理字符数据的处理函数
xml_set_character_data_handler($parser, "characterData");
// 打开 XML 文件(可以是本地文件或远程 URL)
$xmlFile = "example.xml";
$file = fopen($xmlFile, "r");
// 逐行读取 XML 文件并解析
while ($data = fread($file, 4096)) {
xml_parse($parser, $data, feof($file));
}
// 关闭 XML 解析器
xml_parser_free($parser);
// 关闭文件
fclose($file);
// 处理元素开始事件
function startElement($parser, $element_name, $element_attrs) {
echo "Element Start: $element_name\n";
}
// 处理元素结束事件
function endElement($parser, $element_name) {
echo "Element End: $element_name\n";
}
// 处理字符数据事件
function characterData($parser, $data) {
echo "Character Data: $data\n";
}
?>
在上述代码中,我们首先创建了 XML 解析器对象并设置了处理元素开始、元素结束和字符数据的处理函数。然后,我们打开 XML 文件(在这里是本地文件 "example.xml")并逐行读取文件内容,调用 xml_parse 函数进行解析。
在实际应用中,你需要根据 XML 文档的结构和需求来适配处理函数,以从 XML 中提取所需的信息。这个简单的示例中,我们仅仅输出了元素开始、元素结束和字符数据的信息。
转载请注明出处:http://www.pingtaimeng.com/article/detail/13840/PHP