【问题标题】:How to access <content:encoded> data from XML file in WPF?如何从 WPF 中的 XML 文件访问 <content:encoded> 数据?
【发布时间】:2012-01-12 22:23:21
【问题描述】:

我正在使用 WPF 编写一个 rss 提要,其中一个提要是由 wordpress 创建的自定义提要。它有一些嵌套在我想要获取的&lt;content:encoded&gt; 标记中的数据,但我一直无法获取。我正在尝试将此数据绑定到我的一些 wpf 控件。

一些代码:

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

然后我有一个列表框,其中源绑定到这个静态资源, 接下来我有一个模板,其中包含许多绑定到 xml 数据的控件。

我可以从 xml 文件中提取某些项目,即

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

工作正常。但现在我想访问嵌套在&lt;content:encoded&gt; 中的&lt;img src="....png"&gt;。 XPath 语法如Source={Binding XPath="content-encoded/img/@src"} 不起作用。

如果您对我如何获取 XML 文件的这一部分有任何见解,那就太好了!

【问题讨论】:

  • 你用什么来拉一些东西?

标签: c# .net wpf xml xpath


【解决方案1】:

content 是一个 XML 命名空间,需要为 mapped,这是我写的一些 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"}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2015-10-06
    • 2021-05-25
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多