8

使用 .NET System.ServiceModel.Syndication 类...

我想向 SyndicationItem 添加一个新的 SyndicationElementExtension,它将导出以下 XML:

<media:thumbnail url="http://www.foo.com/keyframe.jpg" width="75" height="50" time="12:05:01.123" />

类似于以下内容:

syndicationItem.ElementExtensions.Add(new SyndicationElementExtension("thumbnail", "http://video.search.yahoo.com/mrss", ?

您如何创建一个具有一些属性的简单 SyndicationElementExtension?

4

2 回答 2

13

只是为了简化下一个试图弄清楚这一点的人,这是一个沿文档行添加基本项目缩略图(在本例中为RSS 2.0 附件)的工作示例:

SyndicationItem item = new SyndicationItem();

// populate item...

item.ElementExtensions.Add(
    new XElement( "enclosure",
        new XAttribute( "type", "image/jpeg" ),
        new XAttribute( "url", "http://path.to/my/image.jpg" )
    ).CreateReader()
);

如果您想要一个简单的标签,也可以转储属性并在标签名称后设置文本内容,即<comments>http://my.comments/feed</comments>.

于 2011-11-17T22:15:45.677 回答
10

在这里找到答案:http: //msdn.microsoft.com/en-us/library/bb943475.aspx

SyndicationElementExtensionCollection 类也可用于从 XmlReader 实例创建元素扩展。这允许与 XElement 等 XML 处理 API 轻松集成,如以下示例代码所示。

feed.ElementExtensions.Add(new XElement("xElementExtension",
        new XElement("Key", new XAttribute("attr1", "someValue"), "Z"),
        new XElement("Value", new XAttribute("attr1", "someValue"), 
        "15")).CreateReader());
于 2009-07-06T21:38:38.247 回答