class XmlWrapper implements DataQueryObject, ArrayAccess

Wrapper für XML-Nodes.

Wrapper-Klasse um mit XML-Nodes und DataQuerys arbeiten zu können.

$nl = new \Alvine\Xml\NodeList();
$e1 = new \Alvine\Xml\Element('stadt','Amsterdamm');
$e2 = new \Alvine\Xml\Element('land','Argentinien');
$e3 = new \Alvine\Xml\Element('fluss','Amazonas');
$nl->appendNode($e1);
$nl->appendNode($e2);
$w = new XMLWrapper($nl);
$w->unique();

Properties

protected Document $nodeList

Methods

__construct(NodeList $nodelist)

Erstellt neues XMLWrapper-Objekt

boolean
existsValue($element)

Existiert das Element in der Liste? Es wird hier auf identisch geprüft.

rewind()

Array auf erstes Element setzen

getCurrent()

Implementierung des Iteration Interfaces.

getCurrentKey()

Implementierung des Iteration Interfaces.

getNext()

Implementierung des Iteration Interfaces.

isValid()

Implementierung des Iteration Interfaces.

append(Element $element)

Neues Element anhängen

current()

Implementierung des Iteration Interfaces.

string
key()

Implementierung des Iteration Interfaces.

next()

Implementierung des Iteration Interfaces.

boolean
valid()

Implementierung des Iteration Interfaces.

setValueAt(mixed $index, Element $element)

Implementierung des ArrayAccess Interfaces.

existsIndex(mixed $index)

Implementierung des ArrayAccess Interfaces.

removeIndex(mixed $index)

Implementierung des ArrayAccess Interfaces.

getValueAt(mixed $index)

Implementierung des ArrayAccess Interfaces.

getCount()

Anzahl der Datensätze zurückgeben

truncate()

Daten zurücksetzen / löschen

orderBy(Closure $callback)

Sortierfunktion ``` // Sortieren einer NodeList $nl = new \Alvine\Xml\NodeList(); $nl->appendNode(new \Alvine\Xml\Element('x')); $nl->appendNode(new \Alvine\Xml\Element('a')); $nl->appendNode(new \Alvine\Xml\Element('b'));

offsetSet(integer $offset, mixed $value)

Implementierung des ArrayAccess Interfaces.

boolean
offsetExists(integer $offset)

Implementierung des ArrayAccess Interfaces.

offsetUnset(integer $offset)

Implementierung des ArrayAccess Interfaces.

offsetGet(integer $offset)

Implementierung des ArrayAccess Interfaces.

unique()

Entfernen aller doppelten Zeilen.

string
getXML()

XML zurückgeben

Details

at line 59
__construct(NodeList $nodelist)

Erstellt neues XMLWrapper-Objekt

Parameters

NodeList $nodelist

at line 74
boolean existsValue($element)

Existiert das Element in der Liste? Es wird hier auf identisch geprüft.

Parameters

$element

Return Value

boolean true oder false

at line 85
rewind()

Array auf erstes Element setzen

at line 94
getCurrent()

Implementierung des Iteration Interfaces.

at line 103
getCurrentKey()

Implementierung des Iteration Interfaces.

at line 112
getNext()

Implementierung des Iteration Interfaces.

at line 121
isValid()

Implementierung des Iteration Interfaces.

at line 132
append(Element $element)

Neues Element anhängen

Parameters

Element $element Neues Element

at line 143
Element current()

Implementierung des Iteration Interfaces.

Return Value

Element Aktueller Wert

at line 152
string key()

Implementierung des Iteration Interfaces.

Return Value

string Aktueller Schlüssel

at line 161
Element next()

Implementierung des Iteration Interfaces.

Return Value

Element Nächstes Objekt

at line 170
boolean valid()

Implementierung des Iteration Interfaces.

Return Value

boolean Status der Iteration

at line 184
setValueAt(mixed $index, Element $element)

Implementierung des ArrayAccess Interfaces.

Value bezieht sich hier nicht auf den Inhalt des Elements, sondern auf das Element selber.

Parameters

mixed $index Schlüssel
Element $element Wert

at line 197
existsIndex(mixed $index)

Implementierung des ArrayAccess Interfaces.

Value bezieht sich hier nicht auf den Inhalt des Elements, sondern auf das Element selber.

Parameters

mixed $index Schlüssel

at line 209
removeIndex(mixed $index)

Implementierung des ArrayAccess Interfaces.

Parameters

mixed $index Schlüssel

at line 222
getValueAt(mixed $index)

Implementierung des ArrayAccess Interfaces.

Parameters

mixed $index Schlüssel

at line 232
getCount()

Anzahl der Datensätze zurückgeben

at line 241
truncate()

Daten zurücksetzen / löschen

at line 277
orderBy(Closure $callback)

Sortierfunktion ``` // Sortieren einer NodeList $nl = new \Alvine\Xml\NodeList(); $nl->appendNode(new \Alvine\Xml\Element('x')); $nl->appendNode(new \Alvine\Xml\Element('a')); $nl->appendNode(new \Alvine\Xml\Element('b'));

echo $nl[0]->getTag(); // x echo $nl[1]->getTag(); // a echo $nl[2]->getTag(); // b

$w = new XMLWrapper($nl); $w->orderBy(function($obj1,$obj2) { if($obj1->getTag()==$obj2->getTag()) return 0; return $obj1->getTag()>$obj2->getTag()?1:-1; });

// Zielsortierung echo $nl[0]->getTag(); // a echo $nl[1]->getTag(); // b echo $nl[2]->getTag(); // x ```

Parameters

Closure $callback Callback zum Sortieren

Exceptions

NotCallableException Sortierfunktion ist nicht ausführbar

at line 292
offsetSet(integer $offset, mixed $value)

Implementierung des ArrayAccess Interfaces.

Parameters

integer $offset Index
mixed $value Node

at line 303
boolean offsetExists(integer $offset)

Implementierung des ArrayAccess Interfaces.

Parameters

integer $offset Index

Return Value

boolean true/false

at line 315
offsetUnset(integer $offset)

Implementierung des ArrayAccess Interfaces.

unset($dataquery[1]);

Parameters

integer $offset Index

at line 327
Node offsetGet(integer $offset)

Implementierung des ArrayAccess Interfaces.

Parameters

integer $offset Index

Return Value

Node Node

at line 371
unique()

Entfernen aller doppelten Zeilen.

$nl = new \Alvine\Xml\NodeList();
$e1 = new \Alvine\Xml\Element('stadt','Amsterdamm');
$e2 = new \Alvine\Xml\Element('land','Argentinien');
$e3 = new \Alvine\Xml\Element('fluss','Amazonas');
$nl->appendNode($e1);
$nl->appendNode($e2);
$nl->appendNode($e2);
$nl->appendNode($e3);
$nl->appendNode($e1);
$nl->appendNode($e3);
$nl->appendNode($e2);
$nl->appendNode($e2);
$nl->appendNode($e2);
$nl->appendNode($e1);

echo $nl->getXML(); // Ergibt folgenden XML-String
// <stadt>Amsterdamm</stadt>
// <land>Argentinien</land>
// <land>Argentinien</land>
// <fluss>Amazonas</fluss>
// <stadt>Amsterdamm</stadt>
// <fluss>Amazonas</fluss>
// <land>Argentinien</land>
// <land>Argentinien</land>
// <land>Argentinien</land>
// <stadt>Amsterdamm</stadt>
$w->unique();
$this->assertCount(3, $nl);
echo $nl->getXML();
// Ergebnis
// <stadt>Amsterdamm</stadt>
// <land>Argentinien</land>
// <fluss>Amazonas</fluss>"

at line 389
string getXML()

XML zurückgeben

Return Value

string XML