2013-05-16 3 views
-1

Попытка получить значение узла ds:X509Certificate в PHP. Я могу перемещаться до тега IDPSSODescriptor, любые указатели на то, как получить доступ к значениям дочерних узлов.php-reading xml значение дочернего узла

<EntityDescriptor> 
     <IDPSSODescriptor> 
     <ds:Signature > 
      <ds:SignedInfo>..</ds:SignedInfo> 
      <ds:SignatureValue>..</ds:SignatureValue> 
       <ds:KeyInfo> 
       <ds:X509Data> 
        <ds:X509Certificate/> 
       </ds:X509Data> 
       </ds:KeyInfo> 
     <test> 
     <test2> 
     </IDPSSODescriptor> 
</EntityDescriptor> 

PHP код работает до сих пор,

$data = $idp_xml->IDPSSODescriptor->attributes()->ID; 

Я попытался,

$xml = new SimpleXMLElement($idp_xml->IDPSSODescriptor); 
$data = (string) $xml->ds:Signature[0]->ds:KeyInfo->ds:X509Data->ds:X509Certificate. 
+0

Привет только что прочитал ваш запрос, но файл XML не казалось, хорошо сформированный, вы можете предоставить более подробную информацию о своем xml файлы –

+0

Ошибка в вашем XML, 'ds' является' namespace-prefix', и она не определена в вашем фрагменте, см. http://www.xmlvalidation.com. Вероятно, это причина, по которой вы не можете получить к ней доступ. – michi

ответ

Смежные вопросы