PHP XML 解析器函数

PHP XML 解析器简介

XML 函数允许您解析 XML 文档,但不进行验证。

XML 是一种用于标准化结构化文档交换的数据格式。有关 XML 的更多信息可以在我们的 XML 教程 中找到。

此扩展使用 Expat XML 解析器。

Expat 是一个基于事件的解析器,它将 XML 文档视为一系列事件。当事件发生时,它会调用指定的函数来处理它。

Expat 是一个非验证解析器,会忽略与文档链接的任何 DTD。但是,如果文档格式不正确,它将以错误消息结束。

由于它是一个基于事件的非验证解析器,Expat 速度快,非常适合 Web 应用程序。

XML 解析器函数允许您创建 XML 解析器并为 XML 事件定义处理程序。

安装

XML 函数是 PHP 核心的一部分。使用这些函数无需安装。

PHP XML 解析器函数

函数 描述
utf8_decode() 将 UTF-8 字符串解码为 ISO-8859-1。
utf8_encode() 将 ISO-8859-1 字符串编码为 UTF-8。
xml_error_string() 从 XML 解析器返回错误字符串。
xml_get_current_byte_index() 从 XML 解析器返回当前字节索引。
xml_get_current_column_number() 从 XML 解析器返回当前列号。
xml_get_current_line_number() 从 XML 解析器返回当前行号。
xml_get_error_code() 从 XML 解析器返回错误代码。
xml_parse() 解析 XML 文档。
xml_parse_into_struct() 将 XML 数据解析为数组。
xml_parser_create_ns() 创建支持命名空间的 XML 解析器。
xml_parser_create() 创建 XML 解析器。
xml_parser_free() 释放 XML 解析器。
xml_parser_get_option() 从 XML 解析器返回选项。
xml_parser_set_option() 设置 XML 解析器中的选项。
xml_set_character_data_handler() 为 XML 解析器设置字符数据处理程序。
xml_set_default_handler() 为 XML 解析器设置默认数据处理程序。
xml_set_element_handler() 为 XML 解析器设置开始和结束元素处理程序。
xml_set_end_namespace_decl_handler() 设置结束命名空间声明处理程序。
xml_set_external_entity_ref_handler() 为 XML 解析器设置外部实体引用处理程序。
xml_set_notation_decl_handler() 为 XML 解析器设置符号声明处理程序。
xml_set_object() 允许在对象内使用 XML 解析器。
xml_set_processing_instruction_handler() 设置处理指令处理程序。
xml_set_start_namespace_decl_handler() 设置开始命名空间声明处理程序。
xml_set_unparsed_entity_decl_handler() 为未解析的实体声明设置处理函数。

PHP XML 解析器常量

常量
XML_ERROR_NONE (integer)
XML_ERROR_NO_MEMORY (integer)
XML_ERROR_SYNTAX (integer)
XML_ERROR_NO_ELEMENTS (integer)
XML_ERROR_INVALID_TOKEN (integer)
XML_ERROR_UNCLOSED_TOKEN (integer)
XML_ERROR_PARTIAL_CHAR (integer)
XML_ERROR_TAG_MISMATCH (integer)
XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
XML_ERROR_PARAM_ENTITY_REF (integer)
XML_ERROR_UNDEFINED_ENTITY (integer)
XML_ERROR_RECURSIVE_ENTITY_REF (integer)
XML_ERROR_ASYNC_ENTITY (integer)
XML_ERROR_BAD_CHAR_REF (integer)
XML_ERROR_BINARY_ENTITY_REF (integer)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
XML_ERROR_MISPLACED_XML_PI (integer)
XML_ERROR_UNKNOWN_ENCODING (integer)
XML_ERROR_INCORRECT_ENCODING (integer)
XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
XML_OPTION_CASE_FOLDING (integer)
XML_OPTION_TARGET_ENCODING (integer)
XML_OPTION_SKIP_TAGSTART (integer)
XML_OPTION_SKIP_WHITE (integer)
XML_SAX_IMPL (string)