एक अजीब के रूप में, और बहुत मामले विशेष समाधान यदि आप, रेजर इंजन का उपयोग कर एक ASP.NET वातावरण में काम करने से हो एक CSHTML में: यह तेजी से और अधिक एक्सएमएल तार श्रृंखलाबद्ध से पोषणीय क्लीनर है, फ़ाइल आप कर सकते हैं:
Func<MyType, HelperResult> xml = @<root>
<item>@(item.PropertyA)</item>
<item>@(item.PropertyB)</item>
<item>@(item.PropertyC)</item>
</root>;
एक विस्तार विधि के अलावा के साथ:
public static XDocument ToXDocument<T>(this Func<T, HelperResult> source, T item)
{
return XDocument.Parse(source(item).ToHtmlString());
}
फिर आप कर सकते हैं:
XDocument document = xml.ToXDocument(new MyType() {
PropertyA = "foo",
PropertyB = "bar",
PropertyC = "qux",
});
फिर से, अनोखा? हां। केस-विशिष्ट? हां। लेकिन यह काम करता है, और महान Intellisense देता है। (मन आप, यह भी वैधता चेतावनी का एक समूह, दे देंगे दस्तावेज़ मान्यता संस्करण के आधार पर)
यह उन दोनों भाषाओं में डेवलपर के रूप में उन कुछ समयों में से एक है जहां मैं वास्तव में एक विशेष वीबी.नेट सुविधा चाहता हूं। :) यह वीबीएनईटी में एक्सएमएल लिखना इतना साफ है, और धारावाहिक से बहुत तेज है। –