To že nový .NET Framework 3.5 přichází s LINQ, který nám umožňuje pohodlně a rychle přistupovat k datům XML, relačním a dalším, nemusím určitě opakovat. Více se lze dočíst např. v seriálu Michaela Juřka: http://blogs.msdn.com/vyvojari/archive/2007/09/17/linq-stokr-t-jinak.aspx.

Vývojáři nového VB9 byli při implementaci LINQ to XML důslednější než vývojaři C# 3.0 a připravili pro visualbasicáře tzv. XML Literals, které ulehčují práci s XML tak, že to snad už nikdy ani jednodušší nebude.

Viz. tento příklad:

Dim emp =   <employee>
                <name>Joe</name>
                <age>28</age>
                <department id="432">
                    <deptname>Engineering</deptname>
                </department>
            </employee>

Když se podíváme na to, jak by se tento kód musel psát v ukecaném C#, tak já osobně dávám díky své lenosti přednost syntaxi VB9. Nehledě na to, že VB kód je čitelný pro každého.

XDocument emp = new XDocument(
                        new XElement("employee",
                            new XElement("name", "Joe"),
                            new XElement("age", "28"), 
                            new XElement("department", 
                                new XElement ("deptname","Engineering"),
                                new XAttribute ("id",432))));

No a při práci s XML Literals můžeme jít ještě dále a vytvořit třeba toto:

Dim contacts = <contacts>
                 <%= _
                       From cust In customers _
                       Where cust.Country = "USA" _
                       Select <contact>
                                      <name><%=cust.CompanyName %></name>
                                      <phone><%= cust.Phone %></phone>
                               </contact> _
                  %>
               </contacts>

 

Tak a teď jsem zvědav na výkřiky zastánců C# a ostatních pseudojazyků Tongue out