如何添加SyndicationElementExtension给一个SyndicationItem(

2019-07-29 13:55发布

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

我想一个新的SyndicationElementExtension添加到要导出以下XML一个SyndicationItem:

<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?

Answer 1:

只是为了简化谁一起试图弄清楚这一点,来自未来的家伙,这里将沿着文档的线基本项目的缩略图(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>



Answer 2:

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

所述SyndicationElementExtensionCollection类也可用于从一个XmlReader实例创建元素的扩展。 这允许与XML处理API诸如的XElement易于集成为显示在下面的示例代码。

feed.ElementExtensions.Add(new XElement("xElementExtension",
        new XElement("Key", new XAttribute("attr1", "someValue"), "Z"),
        new XElement("Value", new XAttribute("attr1", "someValue"), 
        "15")).CreateReader());


文章来源: How To Add A SyndicationElementExtension To A SyndicationItem