Ich arbeite an etwas PHP, um XML aus einer Datenbank mit der DOM-Erweiterung zu erstellen.
Grundsätzlich muss ich einen Namensraum erstellen und ihm 3 Attribute hinzufügen:
%Vor%Der vollständige Code, den ich geschrieben habe, ist unten:
%Vor%Aber wenn ich das obige ausführe, bekomme ich diesen Fehler:
Fataler Fehler: Nicht abgefangene Ausnahme 'DOMException' mit Nachricht 'Namespace Fehler in xml.php: 21 Stapelverfolgung: # 0 xml.php (21): DOMElement- & gt; setAttributeNS (' Ссылка ...', 'xsi: schemaLocat ...', 'uri: xxx ...') # 1 {main} geworfen im xml.php in Zeile 21
Zeile 21 ist die zweite Zeile 'setAttributeNS'.
Kann jemand sehen, wo ich falsch liege?
Ersetzen Sie Zeile 21 durch
%Vor% xsi:schemaLocation
ist nicht in Ссылка oder Ihrem Namensraum definiert, sondern in xsi
. Sie müssen also den (vollständigen) xsi
namespace uri als ersten Parameter verwenden.
und: Sie müssen setAttributeNS()
nicht zweimal aufrufen: Die obige Zeile generiert die Attribute xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
und xsi:schemaLocation="http://xxx http://xxx/xxx.xsd"
.