我在这里阅读了一堆帖子,但我仍然不知道如何使用 simplexml 函数对从 OPML 文件中读取的数据进行排序。我意识到这是一种重复,但我显然太慢了,无法使用抽象的例子来做到这一点。
我有一个非常标准的 OPML 文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<!-- OPML generated by Fever -->
<head><title>Fever // Coffee</title></head>
<body>
<outline type="rss" text="I Love Coffee" title="I Love Coffee" xmlUrl="http://en.ilovecoffee.jp/posts/rss" htmlUrl="http://www.ilovecoffee.jp"/>
<outline type="rss" text="Dear Coffee I Love You" title="Dear Coffee I Love You" xmlUrl="http://feeds.feedburner.com/DearCoffeeILoveYou" htmlUrl="http://www.dearcoffeeiloveyou.com"/>
</body>
</opml>
我正在使用最简单的代码生成一个 Markdown 列表:
foreach ($opml->body->outline as $feed) {
echo '* [' . $feed['title'] . '](' . $feed[htmlUrl] . ')' . "\n";
}
我只是想按“标题”属性对列表进行排序,但我不知道该怎么做。
我的理解是我需要将 xml 对象转换为一个数组,我可以这样做:
$json = json_encode($opml);
$xml_array = json_decode($json,TRUE);
但我似乎无法按“标题”对该数组进行排序