Basic Posted April 29, 2009 at 02:43 PM Report #259961 Posted April 29, 2009 at 02:43 PM Boas ainda estou a tentar aprender Linq to XML, no entanto tenho uma duvida. tenho um simples xml e quero acrescentar alguns campos numa determinada posição, por exemplo; <root> <empregado> <nome>Antonio</nome> </empregado> <empregado> <nome>Jose</nome> </empregado> <empregado> <nome>Maria</nome> </empregado> </root> e quero que quando o nome seja igual a "Jose" então seja acrescentado mais alguns campos <empregado> <nome>Antonio</nome> <morada>rua longe</nome> </empregado> alguem tem alguma ideia ?? Obrigada
hferreira Posted April 29, 2009 at 02:51 PM Report #259964 Posted April 29, 2009 at 02:51 PM O LINQ (pelo menos até à data), foi desenvolvido para consultas pelo que não podes simplesmente fazer por exemplo um update com o LINQ para XML no entanto com o LINQ aplicar um filtro para aceder aos dados pretendidos e depois adicionar elementos.
bruno1234 Posted April 29, 2009 at 02:55 PM Report #259967 Posted April 29, 2009 at 02:55 PM Eu não percebi bem o q queres, mas se queres fazer um update a minha solução n vai dar. Se queres inserir o xml todo de inicio, podes fazer a verificação em C#: if(Nome == "Jose"){ // Codigo em Linq com os campos todos } else{ // Codigo em Linq com os campos necessarios } Isto talvez dê para fazer logo em Linq, mas ainda n explorei mto o linq para te dizer cm fazer isso. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Betovsky Posted April 29, 2009 at 03:39 PM Report #259980 Posted April 29, 2009 at 03:39 PM Fiz directamente aqui não sei se funciona, mas deve ser algo do género. tree.Descendants("empregado") .Single(e => e.Descendants("nome") .Where(n => n.Value == "Jose") .Count() == 1 ) .Add(new XElement("morada", "rua longe")); "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
Basic Posted April 30, 2009 at 10:07 AM Author Report #260204 Posted April 30, 2009 at 10:07 AM humm estou a ver que com LINQ torna-se muito simples precorrer o xml, no entanto ainda estou com algumas duvidas 🙂 por exemplo : <empregado> <nome>Antonio</nome> <empregado> <nome>Jose</nome> </empregado> <empregado> <nome>Maria</nome> <empregado> <nome>Jose</nome> </empregado> </empregado> </empregado> se eu tiver este xml e se quisere encontrar o empregado jose e acrescentar mais tag como no exemplo anterior, no entanto sei que ele se encontra dentro da empregada Maria -/Maria/Jose como posso fazer isto para no final ter ... <empregado> <nome>Maria</nome> <empregado> <nome>Jose</nome> <morada>rua longe</morada> </empregado> </empregado> desde já o muito obrigada
Betovsky Posted April 30, 2009 at 10:17 AM Report #260205 Posted April 30, 2009 at 10:17 AM Fazes a mesma coisa, simplesmente agora vais procurar primeiro pelas Maria's e depois em cada Maria vais procurar os Jose's... "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now