2013-03-28 5 views
10

परमाणु से मैं एक आरएसएस फ़ीड है जहाँ से मैं इस मिल बनाने के लिए System.ServiceModel.Syndication.SyndicationFeed उपयोग कर रहा हूँ:SyndicationFeed A10 से परिवर्तन नामस्थान उपसर्ग

<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0"><channel>...</channel></rss> 

यह सब कामयाबी से काम कर रहा है, को छोड़कर जब मैं validate my feed

वैधकर्ता ए 10 नेमस्पेस उपसर्ग के बारे में शिकायत करता है और सुझाव देता है कि मैं इसके बजाय परमाणु का उपयोग करता हूं। यह उचित लगता है .. सिवाय इसके कि मैं उपसर्ग को बदलने का एक सीधा तरीका नहीं देख सकता।

उपसर्ग को बदलने के तरीकों पर कोई विचार?

+0

लग रहा है कि जैसे आप वास्तव में उत्पादन आरएसएस 2.0 के रूप में अपनी फ़ीड है, 1.0 एटम नहीं - http://msdn.microsoft.com/en-us/library/system पर विभिन्न XML आउटपुट उदाहरण देखें। servicemodel.syndication.syndicationfeed.aspx # कोड-स्निपेट -3 – CBroe

+1

हाँ यह आरएसएस है, यही वह है जो मैं उम्मीद कर रहा हूं। किसी भी कारण से फीड वैलिडेटर ने परमाणु नेमस्पेस का उपयोग करके स्वयं को एक लिंक रखने का सुझाव दिया है, इसलिए मैं बस इसका पालन करने की कोशिश कर रहा हूं। मैं इस तरह एक लिंक जोड़ रहा हूं - लेकिन फिर वैधकर्ता चाहता है कि 10 परमाणु। –

+0

वैधकर्ता की चेतावनी सिर्फ एक सुझाव है। ऐसा कोई कारण नहीं है कि आपको * उपसर्ग को नहीं बदला जाना चाहिए, लेकिन कोई वैध पार्सर अंतर के बारे में परवाह नहीं करता है। – Joe

उत्तर

18

परमाणु एक्सटेंशन आप फ़ीड फ़ॉर्मेटर पर SerializeExtensionsAsAtom अक्षम करने की आवश्यकता के लिए कस्टम नाम निर्दिष्ट करने के लिए:

var formatter = feed.GetRss20Formatter(); 
formatter.SerializeExtensionsAsAtom = false; 

तो फिर तुम नाम स्थान

XNamespace atom = "http://www.w3.org/2005/Atom"; 

feed.AttributeExtensions.Add(new XmlQualifiedName("atom", XNamespace.Xmlns.NamespaceName), atom.NamespaceName); 

जोड़ने की जरूरत है और अब आप उपयोग शुरू कर सकते एक्सटेंशन

feed.ElementExtensions.Add(new XElement(atom + "link", new XAttribute("href", feedLink), new XAttribute("rel", "self"), new XAttribute("type", "application/rss+xml"))); 

अंत में फ़ीड को प्रतिक्रिया लिखें मी:

formatter.WriteTo(new XmlTextWriter(Response.Output)); 
संबंधित मुद्दे