XmlEncoder
in package
Clase `XmlEncoder` que crea un documento XML a partir de un arreglo PHP.
Table of Contents
Properties
- $rules : array<string|int, mixed>
- Reglas para convertir de arreglo de PHP a XML y viceversa.
Methods
- encode() : XmlDocument
- Convierte un arreglo PHP a un documento XML, generando los nodos y respetando un espacio de nombres si se proporciona.
- nodeAddAttributes() : void
- Agrega atributos a un nodo XML a partir de un arreglo.
- nodeAddChilds() : void
- Agrega nodos hijos a un nodo XML a partir de un arreglo.
- nodeAddValue() : void
- Agrega un nodo XML con un valor escalar a un nodo padre.
- skipValue() : bool
- Verifica si un valor debe omitirse al generar un nodo XML.
Properties
$rules
Reglas para convertir de arreglo de PHP a XML y viceversa.
private
static array<string|int, mixed>
$rules
= [
// ¿Cómo se deben procesar los valores de los nodos?.
'node_values' => [
// Valores que hacen que el nodo no se genere (se omite).
'skip_generation' => [null, false, []],
// Valores que generan un nodo vacío.
'generate_empty' => ['', true],
],
]
Methods
encode()
Convierte un arreglo PHP a un documento XML, generando los nodos y respetando un espacio de nombres si se proporciona.
public
static encode(array<string|int, mixed> $data[, array<string|int, mixed>|null $namespace = null ][, DOMElement|null $parent = null ][, XmlDocument $doc = null ]) : XmlDocument
Parameters
- $data : array<string|int, mixed>
-
Arreglo con los datos que se usarán para generar XML.
- $namespace : array<string|int, mixed>|null = null
-
Espacio de nombres para el XML (URI y prefijo).
- $parent : DOMElement|null = null
-
Elemento padre para los nodos, o null para que sea la raíz.
- $doc : XmlDocument = null
-
El documento raíz del XML que se genera.
Return values
XmlDocumentnodeAddAttributes()
Agrega atributos a un nodo XML a partir de un arreglo.
private
static nodeAddAttributes(DOMElement $node, array<string|int, mixed> $attributes) : void
Parameters
- $node : DOMElement
-
Nodo al que se agregarán los atributos.
- $attributes : array<string|int, mixed>
-
Arreglo de atributos (clave => valor).
Tags
nodeAddChilds()
Agrega nodos hijos a un nodo XML a partir de un arreglo.
private
static nodeAddChilds(XmlDocument $doc, DOMNode $parent, string $tagName, array<string|int, mixed> $childs[, array<string|int, mixed>|null $namespace = null ]) : void
Parameters
- $doc : XmlDocument
-
Documento XML en el que se agregarán los nodos.
- $parent : DOMNode
-
Nodo padre al que se agregarán los nodos hijos.
- $tagName : string
-
Nombre del tag del nodo hijo.
- $childs : array<string|int, mixed>
-
Arreglo de datos de los nodos hijos.
- $namespace : array<string|int, mixed>|null = null
-
Espacio de nombres para el XML (URI y prefijo).
Tags
nodeAddValue()
Agrega un nodo XML con un valor escalar a un nodo padre.
private
static nodeAddValue(XmlDocument $doc, DOMNode $parent, string $tagName, string $value[, array<string|int, mixed>|null $namespace = null ]) : void
Parameters
- $doc : XmlDocument
-
Documento XML en el que se agregarán los nodos.
- $parent : DOMNode
-
Nodo padre al que se agregará el nodo hijo.
- $tagName : string
-
Nombre del tag del nodo hijo.
- $value : string
-
Valor del nodo hijo.
- $namespace : array<string|int, mixed>|null = null
-
Espacio de nombres para el XML (URI y prefijo).
skipValue()
Verifica si un valor debe omitirse al generar un nodo XML.
private
static skipValue(mixed $value) : bool
Parameters
- $value : mixed
-
Valor a verificar.
Return values
bool —true
si el valor debe omitirse, false
en caso contrario.