2013-05-16 145 views
-1

嘗試在PHP中獲取ds:X509Certificate的節點值。我可以導航到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

回答