JAXB

2012-11-17 35 views
5

ile varolan bir nesneye Marshalling Var olan bir nesneye doğrudan XML atamak mümkün mü ve sadece belirli alanların güncelleştirilmesi mümkün mü?JAXB

Yalnızca istemcinin istediği belirli alanları değiştirmek istiyorum.

İşaretçiler var mı?

+0

Yansıma ile yapılabilir. Türlerin ne kadar karmaşık olduğuna bağlı olarak, oldukça basit olabilir. Herhangi bir kütüphanenin önerilip önerilmediğini merak etmek. – jahroy

+0

Gömülmemiş olması gereken nesneler benim kontrolümde değil. Diğer kullanıcı tanımlı sınıflar da dahil olmak üzere her türlü üye türünü barındırabilirler. Bu durumda yansıma kullanmak mümkün mü? Introspection kullanmalı mıyım? Aynı örnekler için kullanılabilir mi? –

+0

Yansıma noktası budur: herhangi bir şey bilmeden herhangi bir Nesne kontrol edebilirsiniz. Bugün bir örnek üzerinde çalışamayacağım, ancak bazı kodları bu gece daha sonra gönderebilir miyim (belki 12 saat içinde). – jahroy

cevap

0

Çözüm şu şekildedir: Ek Açıklamalar ve Yansıma. ve hayır aynı kitaplık yok. Bu görevi yaparken çok araştırdım.

Tam olarak istediğiniz şeyi yaptım, bunun için kendi uygulamamı yaptım. Ama bu özeldir, bu yüzden paylaşamam.

Ancak, çözüm konusunda ipucu vermek için: Yeniden yüklenebilen alanları işaretlemek için ek açıklamaları kullandım ve sonra yalnızca yeniden yüklenebilen parçaları yeniden yüklemek için Yansıma'yı kullandım.

Adım 1: yeni unmarshalled nesneden yeni değerlerle eski nesne üzerinde setter yöntemleri Çağrı: Yine yeni bir Nesne

Adım 2 oluşturmak için xml unmarshal.

Bu yardımcı olur umarım.

+0

Ama kaynakların kontrolünüzde olmadığını, yukarıdaki açıklamalardan görüyorum, sonra Yansıma, kamu belirleyici yöntemleri olması koşuluyla burada yardımcı olabilir yeniden yüklemeye çalıştığınız özelliklere. –