You will need PHP 5+ to work with the next modules:
XML working modules
If you want to modify PHP data in an XML document, you will need the right structure and syntax for the XML code. It must not be strictly valid (it is not necessary to contain DTD, but it is recommended.
There are three modules for XML: Simple XML, DOM, and SAX. All three of them are included in PHP. Each one has its advantages and disadvantages, they can be used to work with XML data to create, modify, and alter.
Here are a few modules of the XML language:
- SAX is easy to learn, as it considers XML as a set of data. This makes difficult to add new elements and attributes, and also to modify a certain attribute.
- SAX is useful for repetitive structures that can be applied for all the elements of the same type. As an example, replacing certain HTML tags to transform them in XML
- The PHP DOM extensions are able to read the XML document and to create its base, in the cache memory. A tree structure will be used, starting with an element (or object) called a Node. The elements that are contained in the body of the Node are called Children, and the elements that contain them are called Parents. Using the specific DOM functions, you can create, modify, or alter any hierarchy and content. The data can be used independently. The main disadvantage is the increased memory usage.
- DOM must have the entire tree loaded in the memory before you could analyze the XML document. This fact affects the processing of the XML files that are using more than the allowed memory, but those limits can be neglected if you are using the physical hard disk memory.
- Simple XML works better for opening and reading data from an XML file, converting the elements and the attributes from the XML files into native PHP elements (rows, matrices) that can be used as normal PHP files.
- Simple XML uses less memory than DOM, saving resources and time, as it requires a few code lines. It executes less appeals than SAX and DOM. However, problems could appear if you are using elements with deep imbrications
The Document Object Model is a complete module used to create, edit and handling the data from the XML documents. As the data is retained in the memory using a hierarchic tree, it is recommended for the XML file to be validated. Every element is transformed into an object and it is considered a node that could have content, parents, and children, starting with the root element. At the same time, every structure could be considered a node and interpreted as a separate object, becoming a legal but also individual structure.
The structure can be modified using the special functions from a library such as “gnome-libxml2” that are implemented in PHP and can also be rewritten into a PHP format.