LibreDTE

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
XmlDocument

nodeAddAttributes()

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
throws
InvalidArgumentException

Si un valor de atributo es un arreglo.

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
throws
InvalidArgumentException

Si un nodo hijo no es un arreglo.

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.


        
On this page

Search results