我正在尝试使用 SimpleXML 来解析从 Google Reader 导出生成的 xml 文件。
文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title>TheTechBox subscriptions in Google Reader</title>
</head>
<body>
<outline text="Engadget RSS Feed" title="Engadget RSS Feed"
type="rss" xmlUrl="http://www.engadget.com/rss.xml" htmlUrl="http://www.engadget.com"/>
<outline text="xkcd.com" title="xkcd.com" type="rss"
xmlUrl="http://xkcd.com/rss.xml" htmlUrl="http://xkcd.com/"/>
</body>
</opml>
这是我到目前为止所尝试的,用户将文件上传到这个表单,表单需要循环并提取数据。
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
$import = new SimpleXMLElement($_FILES["file"]["name"]);
foreach($import->opml->body->outline[0] as $feed){
echo $feed["title"];
}
}
?>
现在 chrome 产生了一个服务器错误,表明页面上有一些非常错误的东西,文件上传正常,所以它似乎是 simpleXML 部分。
我计划稍后对数据做一些更复杂的事情,我目前正在尝试获取它只是为了在页面上回显数据(用于演示目的)。
任何反馈将不胜感激。
这是最后的工作代码
$import = simplexml_load_file($_FILES["file"]["tmp_name"]);
foreach($import->body->outline as $feed){
echo $feed["title"];
}
这将需要添加以解析所有数据,但这有效。