2011-06-02 52 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