2009-11-06 65 views

回答

1

一個簡單的答案是:一個額外的屬性添加到您的客戶類:

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

和bean屬性setter規則沼氣池:

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

這會工作,但它並不理想。我正在尋找更多的插件或轉換器或其他東西。 – ScArcher2 2009-11-09 18:35:04

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. 
} 

注:SplitFunc_FirstName是你已經寫信給extact姓氏和名字您的自定義功能。

+0

這既不是在Java和使用共享沼氣池。 – ChssPly76 2009-11-06 20:53:05

+0

嗨ChssPly76,這是在C#3.0中使用LinqToXML和匿名類型。 – 2009-11-06 21:49:47

+0

沒有注意到「commons digester」,那是C#解決方案的原因。 – 2009-11-06 21:57:15

相關問題