Updated April 12, 2023
Definition of PHP XML Parser
The PHP XML parser allows reading, creating, updating, and manipulating XML documents. The XML language uses to structure the sharing data across the websites. Its extension uses an Expect XML parser. The XML functions parse XML documents, but not validate. There are two types of XML parsers in PHP: Three Based parsers and Event-based Parsers. The Expat is the Event-based Parsers; it is an event-based(call handler function when an event occurs), it is a non-validating parser(not validate and ignores DTD link of a document, but if a document is not correct formed, then it will end and throw an error message), so it is suited for web applications, and it is fast. XML parser installation is not required for PHP because it is part of core PHP.
The list of constants of PHP XML parser are –
- XML_ERROR_NONE – Data type integer.
- XML_ERROR_SYNTAX – Data type integer.
- XML_ERROR_NO_MEMORY – Data type integer.
- XML_ERROR_INVALID_TOKEN – Data type integer.
- XML_ERROR_NO_ELEMENTS – Data type integer.
- XML_ERROR_UNCLOSED_TOKEN – Data type integer.
- XML_ERROR_PARTIAL_CHAR – Data type integer.
- XML_ERROR_TAG_MISMATCH – Data type integer.
- XML_ERROR_DUPLICATE_ATTRIBUTE – Data type integer.
- XML_ERROR_UNDEFINED_ENTITY – Data type integer.
- XML_ERROR_JUNK_AFTER_DOC_ELEMENT – Data type integer.
- XML_ERROR_PARAM_ENTITY_REF – Data type integer.
- XML_ERROR_RECURSIVE_ENTITY_REF – Data type integer.
- XML_ERROR_ASYNC_ENTITY – Data type integer.
- XML_ERROR_BAD_CHAR_REF – Data type integer.
- XML_ERROR_MISPLACED_XML_PI – Data type integer.
- XML_ERROR_BINARY_ENTITY_REF – Data type integer.
- XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF – Data type integer.
- XML_ERROR_UNKNOWN_ENCODING – Data type integer.
- XML_ERROR_INCORRECT_ENCODING – Data type integer.
- XML_ERROR_EXTERNAL_ENTITY_HANDLING – Data type integer.
- XML_ERROR_UNCLOSED_CDATA_SECTION – Data type integer.
- XML_OPTION_CASE_FOLDING – Data type integer.
- XML_OPTION_TARGET_ENCODING – Data type integer.
- XML_OPTION_SKIP_TAGSTART – Data type integer.
- XML_OPTION_SKIP_WHITE – Data type integer.
- XML_SAX_IMPL – Data type string.
Functions of PHP XML Parser
Functions of PHP XML Parser are:
- utf8_decode() – This function is uses to characters decodes an UTF-8 string to ISO-8859-1.
- utf8_encode() – This function is uses to characters encodes an ISO-8859-1 string to UTF-8.
- xml_get_current_column_number() – This function is uses to gets the current column number from the XML parser.
- xml_get_current_byte_index() – This function is uses to gets the current byte index for the XML parser.
- xml_get_current_line_number() – This function is uses to gets the current line number for the XML parser.
- xml_error_string() – This function is uses to gets an error, if any in the XML parser.
- xml_get_error_code() – This function is uses to gets an error code if any in the XML parser.
- xml_parse() – This function is uses to perform Parse operation to an XML document.
- xml_parse_into_struct() – This function is uses to perform parse XML data into an array.
- xml_parser_create() – This function is uses to creates an XML parser
- xml_parser_create_ns() – This function is uses to creates an XML parser with the namespace.
- xml_parser_free() – This function is uses to frees an XML parser.
- xml_parser_set_option() – This function is uses to sets up an options into an XML parser.
- xml_parser_get_option() – This function is uses to gets options of an XML parser.
- xml_set_default_handler() – This function is uses to sets the default data handler in the XML parser.
- xml_set_character_data_handler() – This function is uses to sets the character data handler in the XML parser.
- xml_set_end_namespace_decl_handler() – This function is uses to sets up end for the XML parser’s namespace declaration handler.
- xml_set_external_entity_ref_handler() – This function is uses to sets up for the XML parser’s external entity reference handler.
- xml_set_object() – This function is uses to allow an object to use XML parser.
- xml_set_processing_instruction_handler() – This function is uses to sets up for the XML parser’s processing instruction handler.
- xml_set_notation_decl_handler() – This function is uses to sets up for the XML parser’s notation declaration handler.
- xml_set_unparsed_entity_decl_handler() – This function is uses to sets for the XML parser’s handler function to unparsed entity declarations.
- xml_set_element_handler() – This function is uses to sets up start and end for the XML parser’s element handlers.
- xml_set_start_namespace_decl_handler() – This function is uses to sets up for the XML parser’s start namespace declaration handler.
Example of PHP XML Parser
Example of PHP XML parser for reading an XML file in an array –
Next, we write the PHP code to understand the PHP XML parser more clearly with the following example, where the XML parser is used to reading the XML data file and storing into an array, as below –
Example #1
First, we create the XML data file by the name “Examplefile.xml” and generate the data content as –
<?xml version="1.0" encoding="utf-8"?>
<employees status = "ok">
<record no = "100">
<name> John </name>
<position> Clerk </position>
</record>
<record no = "101">
<name> Sam </name>
<position> Sales Manager </position>
</record>
<record no = "102">
<name> Jaan </name>
<position> Sales Executive </position>
</record>
</employees>
Next create the php file as below -
<!DOCTYPE html>
<html>
<body>
<?php
// using this function to creates an XML parser
$xmlparser = xml_parser_create();
// opening the xml file to read
$file = fopen("Examplefile.xml", "r");
//freeing the memory when read is done with
$xml_data = fread($file, 4096);
// Parsing the XML data of the file into an array
xml_parse_into_struct($xmlparser,$xml_data,$values);
// This function is using to frees the XML parser
xml_parser_free($xmlparser);
// printing the values from the xml file
print_r($values);
// closing the xml file
fclose($file);
?>
</body>
</html>
Output:
As in the above program, the XML parser is created, then the file “Examplefile.xml” file is opened, read, and parsed the XML data of the file into an array; as we can see, it is printing in the output as well.
Conclusion
The PHP XML parser allows reading, creating, updating, and manipulating XML documents. The XML parser has the constants and functions discussed above.
Recommended Articles
This is a guide to PHP XML Parser. Here we also discuss the Description of PHP XML Parser, a list of constants of PHP XML parser, and Functions along with an example. You may also have a look at the following articles to learn more –