PHP XML Parser Functions

The XML functions lets you parse, but not validate, XML documents.

This extension uses the Expat XML parser.

Expat is an event-based parser, it views an XML document as a series of events. When an event occurs, it calls a specified function to handle it.

Expat is a non-validating parser, and ignores any DTDs linked to a document. However, if the document is not well formed it will end with an error message.

Because it is an event-based, non validating parser, Expat is fast and well suited for web applications.

The XML parser functions lets you create XML parsers and define handlers for XML events

FunctionDescriptionPHP
autf8_decode()Decodes an UTF-8 string to ISO-8859-13
utf8_encode()Encodes an ISO-8859-1 string to UTF-83
xml_error_string()Gets an error string from the XML parser3
xml_get_current_byte_index()Gets the current byte index from the XML parser3
xml_get_current_column_number()Gets the current column number from the XML parser3
xml_get_current_line_number()Gets the current line number from the XML parser3
xml_get_error_code()Gets an error code from the XML parser3
xml_parse()Parses an XML document3
xml_parse_into_struct()Parse XML data into an array3
xml_parser_create_ns()Create an XML parser with namespace support4
xml_parser_create()Create an XML parser3
xml_parser_free()Free an XML parser3
xml_parser_get_option()Get options from an XML parser3
xml_parser_set_option()Set options in an XML parser3
xml_set_character_data_handler()Set handler function for character data3
xml_set_default_handler()Set default handler function3
xml_set_element_handler()Set handler function for start and end element of elements3
xml_set_end_namespace_decl_handler()Set handler function for the end of namespace declarations4
xml_set_external_entity_ref_handler()Set handler function for external entities3
xml_set_notation_decl_handler()Set handler function for notation declarations3
xml_set_object()Use XML Parser within an object4
xml_set_processing_instruction_handler()Set handler function for processing instruction3
xml_set_start_namespace_decl_handler()Set handler function for the start of namespace declarations4
xml_set_unparsed_entity_decl_handler()Set handler function for unparsed entity declarations3

PHP XML Parser Constants

Constant
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)