Wednesday, October 03, 2007 8:47 AM
michalowo
XML Literals aneb proč je VB9 lepší než C# 3.0
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ů 