2009-07-02 8 views
8

Utilizzando le classi .NET System.ServiceModel.Syndication ...Come aggiungere uno SyndicationElementExtension ad uno SyndicationItem

vorrei aggiungere un nuovo SyndicationElementExtension ad uno SyndicationItem che esporterà il seguente codice XML:

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

Qualcosa sulla falsariga di:

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

Come si fa a creare un semplice SyndicationElementExtension con pochi attributi?

risposta

10

trovato la risposta qui: http://msdn.microsoft.com/en-us/library/bb943475.aspx

Il SyndicationElementExtensionCollection classe può anche essere usato per creare estensioni elemento di un XmlReader istanza. Ciò consente una facile integrazione di con le API di elaborazione XML come XElement come mostrato nel seguente codice di esempio .

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

Giusto per semplificare per il prossimo ragazzo che arriva cercando di capire questo fuori, ecco un esempio di lavoro di aggiunta di una miniatura di base oggetto (RSS 2.0 recinzione in questo caso) lungo le linee del documentazione:

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() 
); 

È inoltre possibile scaricare gli attributi e basta impostare il contenuto testuale dopo il nome del tag, se si desidera un semplice tag, vale a dire <comments>http://my.comments/feed</comments>.

+0

come si esegue il dump degli attributi? Se non lo passo e non passo anche lo spazio dei nomi per un elemento, inserisce comunque l'attributo xmlns = "". – Hallaghan

+0

Hmm, non vedo che ciò accada alla fine, l'attributo 'xmlns =" ​​"' è specificato solo sull'elemento '' esterno. Puoi pubblicare un esempio? – nickb

Problemi correlati