class XmlUtils

XMLUtils is a bunch of utility methods to XML operations.

This class contains static methods only and is not meant to be instantiated.

Methods

static DOMDocument
parse(string $content, string|callable|null $schemaOrCallable = null)

Parses an XML string.

static DOMDocument
loadFile(string $file, string|callable|null $schemaOrCallable = null)

Loads an XML file.

static array
convertDomElementToArray(DOMElement $element, bool $checkPrefix = true)

Converts a \DOMElement object to a PHP array.

static mixed
phpize(mixed $value)

Converts an xml value to a PHP type.

static 
getXmlErrors($internalErrors)

No description

Details

static DOMDocument parse(string $content, string|callable|null $schemaOrCallable = null)

Parses an XML string.

Parameters

string $content An XML string
string|callable|null $schemaOrCallable An XSD schema file path, a callable, or null to disable validation

Return Value

DOMDocument

Exceptions

XmlParsingException When parsing of XML file returns error
InvalidXmlException When parsing of XML with schema or callable produces any errors unrelated to the XML parsing itself
RuntimeException When DOM extension is missing

static DOMDocument loadFile(string $file, string|callable|null $schemaOrCallable = null)

Loads an XML file.

Parameters

string $file An XML file path
string|callable|null $schemaOrCallable An XSD schema file path, a callable, or null to disable validation

Return Value

DOMDocument

Exceptions

InvalidArgumentException When loading of XML file returns error
XmlParsingException When XML parsing returns any errors
RuntimeException When DOM extension is missing

static array convertDomElementToArray(DOMElement $element, bool $checkPrefix = true)

Converts a \DOMElement object to a PHP array.

The following rules applies during the conversion:

  • Each tag is converted to a key value or an array if there is more than one "value"

  • The content of a tag is set under a "value" key (bar) if the tag also has some nested tags

  • The attributes are converted to keys ()

  • The nested-tags are converted to keys (bar)

Parameters

DOMElement $element A \DOMElement instance
bool $checkPrefix Check prefix in an element or an attribute name

Return Value

array A PHP array

static mixed phpize(mixed $value)

Converts an xml value to a PHP type.

Parameters

mixed $value

Return Value

mixed

static protected getXmlErrors($internalErrors)

Parameters

$internalErrors