Ben böyle bir sınıfı:Bireysel Elementler yerine Sendikasyon İadesi Adları Ekleme?
public static class MyFeedExtensions
{
private readonly static XNamespace _namespace = XNamespace.Get(@"http://mynamespace");
public static XElement MyElement(string value)
{
return new XElement(_namespace + "MyElement", value);
}
}
Ben özel Uzantılarıyla Atom Besleme üretmek için kullanıyorum: Bu feed benim ad ekler dışında çalışıyor
var feed = new SyndicationFeed();
feed.ElementExtensions.Add(MyFeedExtensions.MyElement("Testing!"));
öğe:
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text">Hello World!</title>
<id>00000000-0000-0000-0000-000000000000</id>
<updated>2011-03-01T01:00:53Z</updated>
<MyElement xmlns="http://mynamespace">Testing!</MyElement>
</feed>
şöyle bir çıktı elde etmek için, bunun yerine yem ile bir ad kaydetmek için bir yolu var mı?
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:my="http://mynamespace">
<title type="text">Hello World!</title>
<id>00000000-0000-0000-0000-000000000000</id>
<updated>2011-03-01T01:00:53Z</updated>
<my:MyElement>Testing!</my:MyElement>
</feed>
İdeal olarak, ben ElementExtensions ile SyndicationItems olduğunda besleme tüm çeşitli alanları hakkında bilinmesi gerektiği gibi, çalışmak da bu istiyoruz.
(Düzenleme: Bu XML Boyutu azaltmak ve daha kolay insanlar için okunmasını sağlamak için saf olduğunu): Temel olarak
feed.AttributeExtensions.Add(
new XmlQualifiedName("my",XNamespace.Xmlns.ToString()),
MyFeedExtensions.Namespace.ToString());
:
Michael, ikinin aynı olduğunu biliyor musunuz? –
@John Semantik olarak evet, sadece oluşturulan XML'in boyutunu küçültmeye çalışıyorum –
Tüm uzantılarınızı bir sarmalayıcı öğeye koyabilir misiniz, yoksa besleme biçimi buna izin vermiyor mu? –