V
tomto príspevku sú vyzdvihované XML literály jazyka VB9 v porovnaní s C# 3.0. Hlavnou výhodou XML literálov je sprehľadnenie kódu. Podobný výsledok môžeme však jednoducho dosiahnúť aj v C# 3.0 vytvorením vlastnej rozšírujúcej metódy (extension method), ktorá bude parsovať reťazec na XDocument takto:
1: using System;
2: using System.Xml.Linq;
3:
4: namespace StringToXDocument
5: {
6: public class Program
7: {
8: static void Main(string[] args)
9: {
10: XDocument doc = @"<book>
11: <title>Pro WCF</title>
12: <publisher>APress</publisher>
13: </book>".ToXDocument();
14: }
15: }
16:
17: public static class StringExtensions
18: {
19: public static XDocument ToXDocument(this string text)
20: {
21: return XDocument.Parse(text);
22: }
23: }
24: }
2 komentáre:
Rozdil oproti VB tu je ale docela zasadni - jednak se musi XML parsovat za behu, coz je pomale a druhak (coz je asi dulezitejsi), nelze do XML snadno vkladat hodnoty promennych (napr. jako text elementu ci atributu).
Suhlasim s tebou. Mojim cielom nebolo vytvorit ekvivalent XML literals z VB9. Chcel som iba ukazat sposob ako prehladne vytvorit XML dokument bez pouzitia XElement a XAttribute. Parsovanie za behu znamena spomalenie, ale v niektorych pripadoch ako napr. unit testy moze moje riesenie sprehladnit kod.
Zverejnenie komentára