牛牛在线工具

xml_parse_into_struct()

收录 8868 个 PHP 函数,含用途说明与用法示例。

xml_parse_into_struct()

解析 XML 数据,并将其存储在一个数组中,该数组包含了 XML 数据的结构信息

函数名称:xml_parse_into_struct() 函数描述:xml_parse_into_struct() 函数解析 XML 数据,并将其存储在一个数组中,该数组包含了 XML 数据的结构信息。 适用版本:所有 PHP 版本(无需安装额外扩展) 语法:int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] ) 参数: parser:XML 解析器资源,通过 xml_parser_create() 函数创建。 data:待解析的 XML 数据。 values:存储解析结果的数组。 index(可选):存储元素索引的数组。 返回值:返回解析的元素数量,如果解析失败则返回 0。 示例: <?php // 创建 XML 解析器 $parser = xml_parser_create(); // 定义存储解析结果的数组 $values = array(); $index = array(); // 定义待解析的 XML 数据 $xmlData = ' <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="children"> <title lang="en">Harry Potter</title> <author>J.K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore> '; // 设置解析器的处理函数 xml_set_element_handler($parser, "startElement", "endElement"); // 设置解析器的字符数据处理函数 xml_set_character_data_handler($parser, "characterData"); // 解析 XML 数据 xml_parse_into_struct($parser, $xmlData, $values, $index); // 打印解析结果 print_r($values); // 释放 XML 解析器资源 xml_parser_free($parser); // 解析开始标签时的处理函数 function startElement($parser, $name, $attrs) { echo "Start tag: $name\n"; } // 解析结束标签时的处理函数 function endElement($parser, $name) { echo "End tag: $name\n"; } // 解析字符数据时的处理函数 function characterData($parser, $data) { echo "Character data: $data\n"; } ?> 输出结果: Array ( [0] => Array ( [tag] => BOOKSTORE [type] => open [level] => 1 [attributes] => Array ( ) ) [1] => Array ( [tag] => BOOK [type] => open [level] => 2 [attributes] => Array ( [CATEGORY] => cooking ) ) [2] => Array ( [tag] => TITLE [type] => open [level] => 3 [attributes] => Array ( [LANG] => en ) ) ... ) 以上示例演示了如何使用 xml_parse_into_struct() 函数解析 XML 数据,并将解析结果存储在一个数组中。在示例中,首先创建了一个 XML 解析器,然后定义了解析器的处理函数,包括开始标签、结束标签和字符数据的处理函数。接着,使用 xml_parse_into_struct() 函数解析了一个包含书籍信息的 XML 数据,并将解析结果存储在 $values 数组中。最后,打印了解析结果。