• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

[PHP] DOMDocument - wie komme ich an ne Attributsliste..?

P.Stylez

Cripps Pink
Registriert
03.11.06
Beiträge
152
Folgendes:

Ich habe ein XML-File (test.xml) der folgenden Form:

Code:
<?xml version="1.0"?>
<foo>
  <bar attr1="attr1" attr2="attr2" attr3="attr3" />
</foo>
Mit folgendem Code bekomme ich ne Referenz auf den bar-Nodelist:

Code:
$dom = new DOMDocument();
$dom->load('test.xml');
$foo = $dom->getElementsByTagName('foo');

$bar = $foo->item(0)->getElementsByTagName('bar');
Nur wie kriege ich jetzt eine Liste/Array/whatever aller Attribute?
Mir ist klar, dass ich mittels

Code:
$attr1 = $bar->item(0)->getAttribute('attr1');
an den Wert von 'attr1' herankomme, aber ich will meine Attributsnamen keinesfalls hart reincoden, um Inkonsistenzen zu vermeiden.
Ergo wär mir sowas hier am liebsten:

Code:
$attributes = $bar->item(0)->getAttributes();
foreach($attribues as $name => $value)
{
  // do stuff ...
}
aber eine derartige Methode ist in der DOMDocument API nicht vorgesehen.

Hat irgendwer ne Idee?
Ich such gerade schon seit ner Stunde Google leer, aber irgendwie find ich nix :(
 
Zuletzt bearbeitet:

P.Stylez

Cripps Pink
Registriert
03.11.06
Beiträge
152
Hab ne Lösung gefunden ;)

statt ner Methode

Code:
DOMElement::getAttributes()

haben die einfach die Referenz auf die Attributliste als public markiert, d.h. mit

Code:
foreach($bar->item(0)->attributes as $attribute)
{
  echo $attribute->name . " " . $attribute->value . "<br>";
}

kommt man an die Attribute.

Bitte schließen...
 
Zuletzt bearbeitet: