O interessante deste novo recurso é que ficou mais fácil a manipulação de XMLs (comparando por exemplo ao uso do XPATH) pois este tipo de objeto é manipulado através de Queries, similar a manipulação no SQL.
O exemplo abaixo mostra a facilidade de uso. Está sendo retornada uma lista, ordernado pelo campo partnumber, dos itens com valor maior do que 100.
[C#]
IEnumerable
from item in purchaseOrder.Descendants("Item")
where (int) item.Element("Quantity") *
(decimal) item.Element("USPrice") > 100
orderby (string)item.Element("PartNumber")
select item;
[Visual Basic]
Dim partNos = _
From item In purchaseOrder...
Where (item.
item.
Order By item.
Select item
A melhoria na manipulação da interface de programação XML é realmente significativa. Inclusive podemos fazer todo tipo de manipulação, como fariamos em uma programação XML, sendo elas:
- Carregar XML de arquivos ou streams.
- Serializar XML para arquivos ou streams.
- Query XML usando [XPath-like].
- Manipular a [árvore XML] in-memory usando métodos comm Add, Remove, ReplaceWith, e SetValue.
- Validar a [árvore XML] usando XSD.
Para exemplificar a facilidade na criação da árvore em XML, note o código abaixo:
[C#]
XElement contacts =
new XElement("Contacts",
new XElement("Contact",
new XElement("Name", "Patrick Hines"),
new XElement("Phone", "206-555-0144",
new XAttribute("Type", "Home")),
new XElement("phone", "425-555-0145",
new XAttribute("Type", "Work")),
new XElement("Address",
new XElement("Street1", "123 Main St"),
new XElement("City", "Mercer Island"),
new XElement("State", "WA"),
new XElement("Postal", "68042")
)
)
);
E no Visual Basic o uso é ainda mais simplificado, pois usa-se o XML de forma literal:
[Visual Basic]
Dim contacts = _
< Contacts >
< Contact >
< Name >Patrick Hines< /Name >
< Phone Type="Home" >206-555-0144< /Phone >
< Phone Type="Work">425-555-0145< /Phone >
< Address >
< Street1 >123 Main St< /Street1 >
< City> Mercer Island< /City >
< State >WA< /State >
< Postal >68042< /Postal >
< /Address >
< /Contact >
< /Contacts >
________________________________
101 Visual Basic LINQ Samples! - http://msdn.microsoft.com/en-us/vbasic/bb688088.aspx
Nenhum comentário:
Postar um comentário
<< Ao enviar um comentário, favor clicar na opção [Enviar por e-mail comentários de acompanhamento para gtezini@gmail.com] >>