2011-12-26 73 views
0

我要地圖使用XPath的值對象,而不是直接訪問Classname.methodname使用JAXB地圖JAXB生成使用XPATH

如:

客戶/名稱

理想JAXB:新客戶().setName( 「XXXX」);

而不是上面:xxxx.setValue(「customer/name」,「XXXXX」)應該自動設置Xpath的值。並在XML中生成。

在JAXB中是否有像這樣的規定。 (我在使用FieldDescriptors和ClassDescriptors的castor中知道這一點)。

回答

0

據我所知,在JAXB沒有這樣做的提供。它的主要目的是

將Marshall和Unmarshall XML文檔發送到/來自Java對象。

0

如果我正確理解你,JAXB對你想要做的事情是無關緊要的;如果您可以處理不是XPATH的表達式,請查看Apache Beanutils:特別是BeanUtils.setProperty(object, "customer.name", "XXXX")

0

如果您想使用其他技術,可以使用JXPath通過類似於xpaths的方式導航javabeans。您還可以使用JXPath來將Javabeans信息排入其中 http://commons.apache.org/proper/commons-jxpath/

具體而言,當您提供工廠時,您可以創建對象。有幾種情況是不支持的,但有一點思考,您可以實現自己的createPathAndSetValue擴展,它可以處理您的特定謂詞邏輯。 http://commons.apache.org/proper/commons-jxpath/users-guide.html#Creating_Objects