2015-02-05 34 views
2

我不確定我的請求是否可能,但是由於Wordpress XML導出是一團糟,我需要找到一種獲取所需內容的方法。以下是我的一些XML輸出示例。基於上述元素的XPath選擇器

<xml> 
    <wp:postmeta> 
    <wp:meta_key>_thumbnail_id</wp:meta_key> 
    <wp:meta_value><![CDATA[108]]></wp:meta_value> 
    </wp:postmeta> 
    <wp:postmeta> 
    <wp:meta_key>_aioseop_keywords</wp:meta_key> 
    <wp:meta_value><![CDATA[keyword1, keyword2]]> 
    </wp:meta_value> 
</xml> 

現在我試圖讓關鍵字的價值,我試圖用一個確切的路徑選擇,但問題是有時關鍵詞單元區域可以坐在上面_thumbnail_id。

我想根據'wp:meta_key'值等於'_aioseop_keywords'來獲取'wp:meta_value'的值。

這是如何實現的,另一個不太好的選擇是如何讓Wordpress正確提取體面的XML。

回答

2

此XPath

/xml/wp:postmeta[wp:meta_key = '_aioseop_keywords']/wp:meta_value 

會給你 'WP:meta_value' 的

值基於 'WP:meta_key' 值等於 '_aioseop_keywords'。

您提供的XML。確保註冊名稱空間前綴。

+0

太棒了,完全按照我需要的那樣工作。你知道它的任何文檔,所以我可以完全理解邏輯和類似的選擇器。看過但找不到它。 – Key 2015-02-05 16:52:48

+1

您可以從XPath建議書的[位置路徑](http://www.w3.org/TR/xpath/#location-paths)部分中給出的示例中學到很多東西。 – kjhughes 2015-02-05 17:50:30