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 61
__construct(NodeList $nodelist)

Erstellt neues XMLWrapper-Objekt

Parameters

NodeList $nodelist

at line 76
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 87
rewind()

Array auf erstes Element setzen

at line 96
getCurrent()

Implementierung des Iteration Interfaces.

at line 105
getCurrentKey()

Implementierung des Iteration Interfaces.

at line 114
getNext()

Implementierung des Iteration Interfaces.

at line 123
isValid()

Implementierung des Iteration Interfaces.

at line 134
append(Element $element)

Neues Element anhängen

Parameters

Element $element Neues Element

at line 145
Element current()

Implementierung des Iteration Interfaces.

Return Value

Element Aktueller Wert

at line 154
string key()

Implementierung des Iteration Interfaces.

Return Value

string Aktueller Schlüssel

at line 163
Element next()

Implementierung des Iteration Interfaces.

Return Value

Element Nächstes Objekt

at line 172
boolean valid()

Implementierung des Iteration Interfaces.

Return Value

boolean Status der Iteration

at line 186
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 199
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 211
removeIndex(mixed $index)

Implementierung des ArrayAccess Interfaces.

Parameters

mixed $index Schlüssel

at line 224
getValueAt(mixed $index)

Implementierung des ArrayAccess Interfaces.

Parameters

mixed $index Schlüssel

at line 234
getCount()

Anzahl der Datensätze zurückgeben

at line 243
truncate()

Daten zurücksetzen / löschen

at line 279
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 294
offsetSet(integer $offset, mixed $value)

Implementierung des ArrayAccess Interfaces.

Parameters

integer $offset Index
mixed $value Node

at line 305
boolean offsetExists(integer $offset)

Implementierung des ArrayAccess Interfaces.

Parameters

integer $offset Index

Return Value

boolean true/false

at line 317
offsetUnset(integer $offset)

Implementierung des ArrayAccess Interfaces.

unset($dataquery[1]);

Parameters

integer $offset Index

at line 329
Node offsetGet(integer $offset)

Implementierung des ArrayAccess Interfaces.

Parameters

integer $offset Index

Return Value

Node Node

at line 373
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 // Amsterdamm // Argentinien // Argentinien // Amazonas // Amsterdamm // Amazonas // Argentinien // Argentinien // Argentinien // Amsterdamm $w->unique(); $this->assertCount(3, $nl); echo $nl->getXML(); // Ergebnis // Amsterdamm // Argentinien // Amazonas"

at line 391
string getXML()

XML zurückgeben

Return Value

string XML