2012-02-16 3 views
0

と複雑なXMLを解析...正しく私はPHPのSimpleXMLをを使用して(少しクリティカル)XMLを解析したい...しかし、私は属性またはいずれかの値を取得aitherできphpの単純なXML

<?xml version="1.0" encoding="UTF-8" ?> 
<response uri="/crm/private/xml/Leads/getMyRecords"> 
    <result> 
     <Leads> 
      <row no="1"> 
       <FL val="LEADID">418176000000051001</FL> 
       <FL val="SMOWNERID">418176000000047003</FL> 
       <FL val="Lead Owner"><![CDATA[Amit Patil]]> 
       </FL> 
       <FL val="Company"><![CDATA[demo Company]]> 
       </FL> 
       <FL val="First Name"><![CDATA[Test]]> 
       </FL> 
       <FL val="Last Name"><![CDATA[Demo]]> 
       </FL> 
       <FL val="Designation"><![CDATA[Tesing Lead]]> 
       </FL> 
       <FL val="No of Employees"><![CDATA[0]]> 
       </FL> 
を、このXMLを解析することはできませんメートル

そして、これは私が洙はるか

$xml = simplexml_load_file($url); 
if($xml != null){ 
    foreach($xml->result->Leads->row as $key=>$row){ 
     foreach($row->FL as $key=>$val){ 
      echo $val.","; 
     } 
    } 
} 

どのように私はSimpleXMLをを使用してこのXMLを解析することができていますか何か他のものであるかもしれないものである??

答えて

4

valがので、私はあなたがコードのように曖昧という名前の$ valの

を使用するときには、すでに表示されるはず持って取得しようとしているかわからないんだけど... attributeof FL、ないコンテンツです各元素の含有量:、属性を取得するXMLのスニペットから

foreach($xml->result->Leads->row as $key=>$row){ 
    foreach($row->FL as $key => $value){ 
     echo $value['val']." => "; 
     echo $value."<br />"; 
    } 
} 

を使用するために、これは与える:

LEADID => 418176000000051001 
SMOWNERID => 418176000000047003 
Lead Owner => Amit Patil 
Company => demo Company 
First Name => Test 
Last Name => Demo 
Designation => Tesing Lead 
No of Employees => 0 
+0

私は2-3時間のためにそれに取り組んでdeeeep内部なくなっとするのを忘れました。シンプルを考えるle ...それは私がそれをやったような配列それは:) :)これを使用して解決したようにそれがうまくいくと思うなら動作しなければならないことに気づいても\t foreach($行 - > FLとして$ val)$ val-> )。 "="。$ val; –

+0

この単純な解決策と、私を通常の:) :)に戻してくれてありがとうsooo sooo :) –

+0

$ valueの文字列値を保存する場合は、strval($ value)を使用してください。実際には単純なxmlオブジェクトです。 –

関連する問題