2009-07-02 4 views
8

नेट System.ServiceModel.Syndication वर्गों का उपयोग करने के लिए एक SyndicationElementExtension जोड़े के लिए ...कैसे एक SyndicationItem

मैं एक SyndicationItem कि निम्न XML निर्यात करेगा के लिए एक नया SyndicationElementExtension जोड़ना चाहते हैं:

<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 बना सकता हूँ?

उत्तर

10

यहाँ मिले जवाब: http://msdn.microsoft.com/en-us/library/bb943475.aspx

SyndicationElementExtensionCollection वर्ग भी एक XmlReader उदाहरण से तत्व एक्सटेंशन बनाने के लिए इस्तेमाल किया जा सकता है। यह नमूना कोड के बाद में दिखाए गए एक्सएमएल प्रोसेसिंग एपीआई जैसे XElement के साथ एकीकरण के लिए आसान बनाता है।

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

बस अगले आदमी है जो इस पता लगाने की कोशिश साथ आता है के लिए आसान बनाने के लिए, यहाँ की तर्ज पर (आरएसएस इस मामले में 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> कर सकते हैं।

+0

आप गुणों को कैसे डंप करते हैं? यदि मैं किसी भी व्यक्ति को पास नहीं करता हूं और किसी तत्व के लिए नेमस्पेस भी पास नहीं करता हूं, तो यह विशेषता xmlns = "" को किसी भी तरह से प्रविष्ट करता है। – Hallaghan

+0

हम्म, मुझे नहीं लगता कि यह मेरे अंत में हो रहा है, 'xmlns = "" विशेषता केवल बाहरी' 'तत्व पर निर्दिष्ट है। क्या आप एक उदाहरण पोस्ट कर सकते हैं? – nickb

संबंधित मुद्दे