2012-02-28 8 views
0

私は何時間もこの解決策を探していましたが、何も動作していないようですが、私はhttp://www.sitepoint.com/simplexml-and-namespaces/を読んだことがありますが、それは私にとってはうまくいかないようです。ここで なぜSimpleXMLでこのSOAP応答を解析できないのですか?

は、私が解析しようとしているXMLである:

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
    <FlokkurResponse xmlns="http://www2.ksi.is/vefthjonustur/mot/"> 
     <FlokkurSvar> 
     <ArrayFlokkur> 
      <Flokkur> 
      <FlokkurHeiti>1. flokkur</FlokkurHeiti> 
      <FlokkurNumer>113</FlokkurNumer> 
      </Flokkur> 
      <Flokkur> 
      <FlokkurHeiti>2. flokkur</FlokkurHeiti> 
      <FlokkurNumer>109</FlokkurNumer> 
      </Flokkur> 
      <Flokkur> 
      <FlokkurHeiti>3. flokkur</FlokkurHeiti> 
      <FlokkurNumer>124</FlokkurNumer> 
      </Flokkur> 
     </ArrayFlokkur> 
     <VillaNumer>0</VillaNumer> 
     </FlokkurSvar> 
    </FlokkurResponse> 
    </soap:Body> 
</soap:Envelope> 

は、私は何をしたい各FlokkurHeitiの値を取得しているので、私は、私はこれを行うことができると思った:

foreach ($xml->Flokkur as $x) { 
    echo $x->FlokkurHeiti.'<br/>'; 
} 

ようにFLokkurもFlokkurHeitiもネームスペースや属性を持っていないことがわかりますが、出力はありません。

私も

$t = $xml->children("http://schemas.xmlsoap.org/soap/envelope/")->Body->FlokkurResponse->children("http://www2.ksi.is/vefthjonustur/mot/")->FlokkurSvar->ArrayFlokkur->Flokkur; 
foreach ($t as $x) { 
    echo $x->FlokkurHeiti.'<br/>'; 
} 

を試してみましたが、ノードはもはや

警告存在し得るなかっました誰かが助けることができる、あなたはFLokkurもFlokkurHeitiどちらも任意の名前空間を持って見ることができるようにあなたの

答えて

0

に感謝

実際には、名前空間を持っている:http://www.w3.org/TR/REC-xml-names/

xmlns="http://www2.ksi.is/vefthjonustur/mot/"

たぶん、あなたはに見ている可能性があり

関連する問題