我要地圖使用XPath的值對象,而不是直接訪問Classname.methodname使用JAXB地圖JAXB生成使用XPATH
如:
客戶/名稱
理想JAXB:新客戶().setName( 「XXXX」);
而不是上面:xxxx.setValue(「customer/name」,「XXXXX」)應該自動設置Xpath的值。並在XML中生成。
在JAXB中是否有像這樣的規定。 (我在使用FieldDescriptors和ClassDescriptors的castor中知道這一點)。
我要地圖使用XPath的值對象,而不是直接訪問Classname.methodname使用JAXB地圖JAXB生成使用XPATH
如:
客戶/名稱
理想JAXB:新客戶().setName( 「XXXX」);
而不是上面:xxxx.setValue(「customer/name」,「XXXXX」)應該自動設置Xpath的值。並在XML中生成。
在JAXB中是否有像這樣的規定。 (我在使用FieldDescriptors和ClassDescriptors的castor中知道這一點)。
據我所知,在JAXB沒有這樣做的提供。它的主要目的是
將Marshall和Unmarshall XML文檔發送到/來自Java對象。
如果我正確理解你,JAXB對你想要做的事情是無關緊要的;如果您可以處理不是XPATH的表達式,請查看Apache Beanutils:特別是BeanUtils.setProperty(object, "customer.name", "XXXX")
。
如果您想使用其他技術,可以使用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