simplexml_load_string()
とnew SimpleXMLElement()
の両方をXML APIからPHPで使用してXMLデータを解析しようとしましたが、CDATA
コンテンツの解析中に問題が発生しています。 PHPの上記の関数またはインスタンスを使用すると、CDATA
をノードのコンテンツとして解析する必要があります(SimpleXMLElement
からstring
としてタイプキャストするか、またはLIBXML_NOCDATA
フラグを使用してタイプキャストします)が、そうではありません。その代わりに、データは<![CData[2801086]]>
のように出ています(これはブラウザでエコーされて表示されないので表示されません)XML APIからCDATAのコンテンツを取得できません
ここでは、APIフィード内のジョブの位置を含むスニペットいくつかのコンテンツを削除しました):
<position>
<Id><![CData[2801086]]></Id>
<url>
<![CData[http://foo.bar.co.uk/ViewVacancy.aspx?2801086-foo]]>
</url>
<JobReference><![CData[VAC-00117]]></JobReference>
<JobTitle><![CData[Foo Bar]]></JobTitle>
<County><![CData[Nottinghamshire]]></County>
<Town><![CData[Nottingham]]></Town>
<Postcode><![CData[NG11 0EE]]></Postcode>
</position>
CDATAは大文字で書く必要があります。あなたが書いた方法では、整形式のXMLではありません。 –
フィードバックマイケルに感謝します。ええ、私は知っている(これは以下に答えている)。残念ながら自分で書かれていないので、サービスを提供する開発者に知らせる必要があります – willsquire