2011-06-02 64 views
1

我使用新的wordpress插件google xml sitemap。两层xml源,从xml链接获取数据

你好,让我说我有100个职位。我的网站地图XML文件,而不是有100个条目,有5个链接,每个链接链接到20个职位。

我正在试图做的是将每个帖子的名称都放到我服务器上的文件中。

  1. 的sitemap.xml的有这个模式: <>网页 ... <> category_location

组委会代表的5个环节,每个链接到这个架构中的另一个XML文件: <> url ... <> post_name

现在,如果我想要接受链接类别,我会这样做:

$sitemap_feed = 'http://www.mysite.com/sitemap.xml'; 

$sitemap_xml = simplexml_load_file($sitemap_feed); 

foreach($sitemap_xml->sitemap as $xml){ 

$cat_location = $xml->category_location; 

} 

现在,我必须将所有的类别位置存储在一个数组中,并再次运行此代码以真正获取我的帖子名称。

$postname_xml = simplexml_load_file($cat_location); 

foreach($postname_xml->postname as $postname_xml){ 

$postname = $postname_xml->postname; 

} 

有没有办法直接做到这一点?更优雅的东西?

谢谢! 希望你能明白我的问题:(

回答

0

您可以使用XPath的数据直接从XML进行筛选。如果你可以联系我的XML我也许能帮助你一点点与编码。

XPath @ Wikipedia
Xpath explained

看到您的问题作为解决其在XML文件中提到的XML文件我没有在网上找到一个简单的解决方案。

我会去用以下步骤

  1. 通过XPath将URL从sitemap.xml中提炼出来。 (XPath的://sitemap/loc
  2. 解决内部XML,并把它们添加到主文档
  3. 收集来自主文档所需的信息(XPath的://postname
+0

我看到,XML引用了其他人,我会检查是否找到更适合的东西或宝石,将它归结为一个XML。 – 2011-06-02 20:36:30

+0

我的ideea很简单,获取数组中的引用链接,并使用foreach循环,我有一种感觉,这是一个更优雅和实用的解决方案,对于这个 – webmasters 2011-06-02 20:37:23