PHP XML Functions

From http://www.w3schools.com (Copyright Refsnes Data)

# PHP XML Parser Functions

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

From http://www.w3schools.com (Copyright Refsnes Data)