私は次の(奇妙な)XMLレスポンスを返すgetリクエストを持っています。PHPで奇妙なXMLを解析する
<FL val=..>
の各値をキーとし、値を<FL></FL>
の値として取得するにはどうすればよいですか?私が欲しい
<?xml version="1.0" encoding="UTF-8" ?>
<response uri=" xml/JobOpenings/getRecords">
<result>
<JobOpenings>
<row no="1">
<FL val="JOBOPENINGID">1001</FL>
<FL val="Posting Title">
<![CDATA[Controller]]>
</FL>
<FL val="Work Experience">
<![CDATA[Medior]]>
</FL>
<FL val="Vacancy type">
<![CDATA[Not Fixed]]>
</FL>
<FL val="Organisation">
<![CDATA[Organisation B]]>
</FL>
</row>
<row no="2">
<FL val="JOBOPENINGID">1002</FL>
<FL val="Posting Title">
<![CDATA[Accounting & Reporting manager]]>
</FL>
<FL val="Job Opening Status">
<![CDATA[In-progress]]>
</FL>
<FL val="Client Name">
<![CDATA[MVRDO]]>
</FL>
<FL val="Work Experience">
<![CDATA[Medior]]>
</FL>
<FL val="Rate">
<![CDATA[0]]>
</FL>
<FL val="Vacancy type">
<![CDATA[Fixed]]>
</FL>
<FL val="Specialisme">
<![CDATA[Finance]]>
</FL>
<FL val="Organisation">
<![CDATA[Organisation A]]>
</FL>
</row>
</JobOpenings>
</result>
</response>
出力例は
キー=空孔型、値=固定されていない
キー=組織、値=組織B
など。
を持つ配列であります私は二重のforeachが必要であることを知っています:
$array=simplexml_load_string($xml);
foreach ($array->result->JobOpenings->row as $item){
foreach($item->children() as $key => $value){
echo '{$key} : {$value} </br>'; //But what to do here??
}
}
上記のコードは出力が得られます。
FL:
FL固定されていない:組織B
を私はFLがvalの値である必要はあり=このコード<FL val="This">
のJSON tranccformation後、私はコメントを失ったことを理解することはできません(<![CDATA)。私は、そのwalueを得るためにxmalパーサーを使用する必要があります – splash58
json変換は必要ではありません、私は自分の例でそれを試してみました。変換を失うことは自由です – Beer