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"];
}
}
?>
現在、クロムはページに何か非常に問題があることを示すサーバー エラーを生成します。ファイルは正常にアップロードされるため、simpleXML 部分のように見えます。
後でデータを使ってもっと複雑なことをする予定です。現在、ページ上のデータをエコーするためだけに取得しようとしています (デモ目的で)。
どんなフィードバックでも大歓迎です。
これが最終的な作業コードです
$import = simplexml_load_file($_FILES["file"]["tmp_name"]);
foreach($import->body->outline as $feed){
echo $feed["title"];
}
これは、すべてのデータを解析するために追加する必要がありますが、これは機能します。