2017-02-20 15 views
0

Мой PHP кодновый SimpleXMLElement не нравится колонов

<?php 
$envelopeXML = new SimpleXMLElement('<s:Envelope></s:Envelope>'); 
$envelopeXML->addAttribute('xmlns:s', 'http://www.w3.org/2003/05/soap-envelope'); 
Header('Content-type: text/xml'); 
echo $envelopeXML->asXML(); 

И это дает мне предупреждение:

Предупреждение: SimpleXMLElement :: __ конструкт(): ошибка пространства имен: Префикс пространства имен s на конверте не определено в xml.php в строке 2

Как определить префикс пространства имен 'on' Envelope '? Как это:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <s:Header> 
     <a:Action s:mustUnderstand="1">http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue</a:Action> 

ответ

0

Вы можете определить пространство имен непосредственно в переменной XML себя до тех пор, как это следует действующие правила XML:

<?php 
$envelopeXML = new SimpleXMLElement('<?xml version="1.0"?><s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"></s:Envelope>'); 
Header('Content-type: text/xml'); 
echo $envelopeXML->asXML();