2009-11-06 4 views

Répondre

1

Une réponse facile est: ajouter une propriété supplémentaire à votre classe de clients:

public class Guest { 
    private String firstName; 
    private String lastName; 
    public void setBothNames(String bothNames) { 
     String[] split = bothNames.split(" "); 
     firstName = split[0]; 
     lastName = split[1]; 
    } 

et la règle de setter de propriété de haricots au digesteur:

digester.addBeanPropertySetter("guestlist/guest/name", "bothNames"); 
+0

Cela fonctionnerait, mais ce n'est pas idéal. Je cherche plus d'un plugin ou un convertisseur ou quelque chose. – ScArcher2

0
// Loading from a file, you can also load from a stream 
XDocument loaded = XDocument.Load(@"C:\Guests.xml"); 


// Query the data and write out a subset of guests 

var guests= from c in loaded.Descendants("guest") 
     select new 
     { 
      FirstName = SplitFunc_FirstName(c.Element("name")), 
      LastName = SplitFunc_LastName(c.Element("name")) 
     }; 

foreach (var guest in guests) 
{ 
    Your custom code...to attach it to your entity object. 
} 

Note: SplitFunc_FirstName est votre fonction personnalisée que vous avez déjà écrit à extact nom et prénom.

+0

Ce n'est ni en Java ni en utilisant Commons digesteur . – ChssPly76

+0

Salut ChssPly76, Ceci est en C# 3.0 en utilisant LinqToXML et les types anonymes. –

+0

N'a pas remarqué le "digesteur commun", ce qui était la raison de la solution C#. –

Questions connexes