2011-06-20 40 views
-1

可能重复:
Best XML Parser for PHPPHP CURL - 刮XML数据返回为HTML

我是一个新手到PHP和卷曲,所以请给简单的步骤! :)

我想从一个正在返回XML数据为HTML的网站刮取数据。

卷曲检索响应为“5814 3300”,而不是源

<?xml version="1.0" encoding="iso-8859-1"?><app><info><bookID>58</bookID><firstbook><t>14 </t><status>3</status></firstbook><nextbook><t>30</t><status>0</status></nextbook></info></app>

,我需要(对结果,所以我可以做的preg_match)

我能做些什么来改造'5814 3300'输出到我需要的XML中? 谢谢!

请注意:这个问题是由我在困惑的状态。 cURL确实输出源。

+0

你能告诉我为什么我不能使用cURL来刮取XML吗?我对此的理解不是很深 - 谢谢! – ryanswj

+0

你*可以*使用cURL。但你*不应该*。除非在主机的php.ini中禁用'allow_url_fopen',否则上面提到的任何XML/HTML解析器都可以直接加载URI,并且它们比任何Regex都能够更好地控制标记,因为XML/HTML解析器实际上理解标记规则,而正则表达式必须首先教授这些规则(这很乏味)。 – Gordon

+0

我明白了。这就是为什么正则表达式根本就没有拿起任何东西。你能指点我一个非常简单的教程来刮擦XML吗?我搜索了一遍,我看到了XML抓取教程,但他们使用'foreach'代码,而且看起来过于复杂。最终,我想要做的只是提取标签之间的值 ryanswj

回答

1

我敢打赌,如果您查看实际的源代码(而不是屏幕上显示的内容),您会看到完整的XML表示。

+0

你是对的;我很困惑。抱歉花时间! – ryanswj

+0

当您发现能够最好地解决您的问题时,请不要忘记接受答案。 :) –

0

您是否将XML输出到您的浏览器?如果您输出的是HTML内容类型,则浏览器将跳过所有这些未知标签并直接显示其内容。如果您查看页面源代码,则很可能会看到实际的XML。

+0

你是对的;我很困惑。抱歉花时间! – ryanswj