PHP XML Parser Introduction
The XML functions lets you parse, but not validate, XML documents.
XML is a data format for standardized structured document exchange. More information on XML can be found in our XML Tutorial.
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.
Installation
The XML functions are part of the PHP core. There is no installation needed to use these functions.
PHP XML Parser Functions
PHP: indicates the earliest version of PHP that supports the function.
Function | Description | PHP |
utf8_decode() | Decodes an UTF-8 string to ISO-8859-1 | 3 |
utf8_encode() | Encodes an ISO-8859-1 string to UTF-8 | 3 |
xml_error_string() | Gets an error string from the XML parser | 3 |
xml_get_current_byte_index() | Gets the current byte index from the XML parser | 3 |
xml_get_current_column_number() | Gets the current column number from the XML parser | 3 |
xml_get_current_line_number() | Gets the current line number from the XML parser | 3 |
xml_get_error_code() | Gets an error code from the XML parser | 3 |
xml_parse() | Parses an XML document | 3 |
xml_parse_into_struct() | Parse XML data into an array | 3 |
xml_parser_create_ns() | Create an XML parser with namespace support | 4 |
xml_parser_create() | Create an XML parser | 3 |
xml_parser_free() | Free an XML parser | 3 |
xml_parser_get_option() | Get options from an XML parser | 3 |
xml_parser_set_option() | Set options in an XML parser | 3 |
xml_set_character_data_handler() | Set handler function for character data | 3 |
xml_set_default_handler() | Set default handler function | 3 |
xml_set_element_handler() | Set handler function for start and end element of elements | 3 |
xml_set_end_namespace_decl_handler() | Set handler function for the end of namespace declarations | 4 |
xml_set_external_entity_ref_handler() | Set handler function for external entities | 3 |
xml_set_notation_decl_handler() | Set handler function for notation declarations | 3 |
xml_set_object() | Use XML Parser within an object | 4 |
xml_set_processing_instruction_handler() | Set handler function for processing instruction | 3 |
xml_set_start_namespace_decl_handler() | Set handler function for the start of namespace declarations | 4 |
xml_set_unparsed_entity_decl_handler() | Set handler function for unparsed entity declarations | 3 |
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) |