【发布时间】:2011-11-06 18:06:30
【问题描述】:
我正在尝试使用 simpleXML 解析来自foursqare 的KML 场地提要,但我无法获得嵌套在描述中的场地网址。看起来 simpleXML 剥离了它。
详细说明:
foursqare kml 提要如下所示:
<kml>
<Folder>
<name>foursquare checkin history for X</name>
<description>foursquare checkin history for X</description>
<Placemark>
<name>somevenuename</name>
<description>@<a href="/v/somevenueurl">somevenuename</a>- a foursqareshout!</description>
<updated>Wed, 02 Nov 11 17:00:05 +0000</updated>
<published>Wed, 02 Nov 11 17:00:05 +0000</published>
<visibility>1</visibility>
<Point>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates>xx.xxxxxx,yy.yyyyyy</coordinates>
</Point>
</Placemark>
etc ...
我对 simpleXMl 的调用是……嗯,很简单:$venue_items = simplexml_load_file($venue_kml_file);
有什么想法可以保留description 中的 html 吗?
【问题讨论】:
-
这很困难,因为 KML 是错误的(至少我会说) -
<description>的内容应该是 CDATA 如果它可以包含 HTML。我知道这并没有真正的帮助,但可能值得向提要提供者提出这一点,因为他们不这样做会使消费者的生活变得更加困难...... -
感谢您的建议。我不妨这样做,但它不会很快为我提供解决方案。 :\
-
在将其传递给 simplexml_load_file() 之前,如何在
标记中自己添加 CDATA 包装器? -
是的,因为我不能直接用 simpleXML 处理这个问题,所以最终需要某种预处理。
标签: php simplexml kml foursquare