2012-01-12 94 views
1

我正在用WPF編寫一個RSS feed,其中一個feed是由wordpress創建的一個自定義feed。它有一些數據嵌套在我想要了解的<content:encoded>標記中,但我一直無法做到。我試圖將這些數據綁定到我的一些wpf控件。如何從WPF中的XML文件訪問<content:encoded>數據?

一些代碼:

<XmlDataProvider x:Key="" XPath="//item" Source="" /> 

那麼我在源被綁定到這個靜態資源列表框, 接下來我有一個包含一些綁定到XML數據控件的模板。

我可以從XML文件中提取某些項目,即

<TextBlock Text="{Binding XPath="title"} /> 

工作好。但現在我想訪問<content:encoded>內嵌的<img src="....png">。像 這樣的XPath語法不起作用。

如果您對如何獲取XML文件的這一部分有深入的瞭解,那就太棒了!

+0

你用什麼來拉一些物品? – Paparazzi 2012-01-12 22:25:27

回答

0

content是一個需要mapped XML命名空間,這裏有一些RSS閱讀器的樣品我寫了一個例子:

<Window.Resources> 
    <s:Uri x:Key="FeedUri"> 
     http://backend.deviantart.com/rss.xml?q=boost%3Apopular+max_age%3A8h&amp;type=deviation 
    </s:Uri> 
    <XmlNamespaceMappingCollection x:Key="NsMapping"> 
     <XmlNamespaceMapping Prefix="media" Uri="http://search.yahoo.com/mrss/"/> <!-- Slash at the end on dA for some reason... --> 
     <XmlNamespaceMapping Prefix="atom" Uri="http://www.w3.org/2005/Atom"/> 
    </XmlNamespaceMappingCollection> 
    <XmlDataProvider x:Key="Data" Source="{StaticResource FeedUri}" 
        XmlNamespaceManager="{StaticResource NsMapping}"/> 
</Window.Resources> 

<!-- media and atom being used in a binding: --> 
<Image Source="{Binding XPath=media:thumbnail/@url}" ToolTip="{Binding XPath=title}"/> 
<Image Source="{Binding XPath=/rss/channel/atom:icon}" .../> 

因此,與您的到位映射content它應該是:{Binding XPath="content:encoded/img/@src"}