simpleXML: Attribute mit Doppelpunkt

dsturm

Erfahrenes Mitglied
Hi ihr,

leider habe ich bis dato keine Lösung gefunden, vielleicht könnt ihr mir weiterhelfen:

Ich möchte einem Knotenpunkt ein Attribute zuweisen, z.B. "xmlns:xsi". Allerdings wird hier mit
PHP:
$xml_node->addAttribute('xmlns:xsi', "foo");
nur das "xsi" übernommen. Woran liegt das, bzw. wie kann ich das umgehen?

Gruß,
Daniel
 
Dazu musst du den dritten Parameter nutzen, wo der Namensraum angegeben wird.
PHP:
$xml_node->addAttribute('xsi', 'foo', 'xmlns');
 
Argh, ja, man sollte die Dokumentation schon zu Ende lesen. Entschuldigt bitte daher diese Frage! Auf jeden Fall, vielen Dank für die schnelle Antwort!

Ist es damit möglich mehrere NameSpaces in ein Element zu definieren? Ich möchte auf diese Ausgabe hinaus:
PHP:
<OPENQCAT version="1.0.0" xsi:noNamespaceSchemaLocation="open-Qcat.V1.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
, allerdings gibt er nun zurzeit das aus:
PHP:
<OPENQCAT xmlns="xsi" version="1.0.0" noNamespaceSchemaLocation="open-Qcat.V1.0.0.xsd" xsi="http://www.w3.org/2001/XMLSchema-instance">
, was über
PHP:
$node_root->addAttribute('noNamespaceSchemaLocation', "open-Qcat.V1.0.0.xsd", "xsi");
$node_root->addAttribute('xsi', "http://www.w3.org/2001/XMLSchema-instance", "xmlns");
"erreicht" wurde.

Gruß,
Daniel
 
Zuletzt bearbeitet:
Zurück