欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
體驗jibx的靈活和快速
 
    jibx又一個(gè)不錯的xml綁定工具,隨著(zhù)這段時(shí)間的使用,感覺(jué)越來(lái)越隨心應手了。和jaxb一樣,都是屬于xml綁定工具。不同于jaxb,jibx使用java字節碼enhance技術(shù),而jaxb更多在于源代碼生成技術(shù)。jibx的工作主要在于前期,也就是進(jìn)行字節碼綁定,這一部分基本上都是在編譯器完成的。在運行期,不需要任何的配置,由于字節碼已經(jīng)嵌入java類(lèi)中。而jaxb更多在于運行期綁定,通過(guò)元數據或者xsd文件進(jìn)行解析綁定。相對于jaxb來(lái)說(shuō),jibx更加的快速以及靈活。不過(guò),前期的編譯工作還是需要花費一點(diǎn)時(shí)間熟悉。下面通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明,例子是其官方自帶的。
    首先從網(wǎng)上下載jibx包 http://jibx.sourceforge.net/ 為其主要的官網(wǎng)。
    假設有兩個(gè)類(lèi)Person和Customer
    使用最簡(jiǎn)單的方式聲明:
  
java 代碼
 
  1. public class Customer {  
  2.     public Person person;  
  3.     public String street;  
  4.     public String city;  
  5.     public String state;  
  6.     public Integer zip;  
  7.     public String phone;  
  8.    }  
  9.     public class Person {  
  10.     public int customerNumber;  
  11.     public String firstName;  
  12.     public String lastName;  
  13.    }  

xml 數據結構如下:
xml 代碼
 
  1. <customer>  
  2.   <person>  
  3.     <cust-num>123456789</cust-num>  
  4.     <first-name>John</first-name>  
  5.     <last-name>Smith</last-name>  
  6.   </person>  
  7.   <street>12345 Happy Lane</street>  
  8.   <city>Plunk</city>  
  9.   <state>WA</state>  
  10.   <zip>98059</zip>  
  11.   <phone>888.555.1234</phone>  
  12. </customer>  

 
為了匹配相應的數據,jibx需要相應的映射文檔,用于匹配java類(lèi)和xml數據,如下:
xml 代碼
 
  1. <binding>  
  2.   <mapping name="customer" class="org.jibx.starter.Customer">  
  3.     <structure name="person" field="person">  
  4.       <value name="cust-num" field="customerNumber"/>  
  5.       <value name="first-name" field="firstName"/>  
  6.       <value name="last-name" field="lastName"/>  
  7.     </structure>  
  8.     <value name="street" field="street"/>  
  9.     <value name="city" field="city"/>  
  10.     <value name="state" field="state"/>  
  11.     <value name="zip" field="zip"/>  
  12.     <value name="phone" field="phone"/>  
  13.   </mapping>  
  14. </binding>    

 
當然手寫(xiě)是比較費力的,還好,jibx工具提供了相應的生成方法:jibxtools包提供了BindingGenerator類(lèi),用于生成相應的xml文件
可以直接在cmd下執行:java -jar  jibxtools.jar -f bind.xml Customer
如果沒(méi)有復雜的屬性,如枚舉和數組,直接就可以生成了。
現在開(kāi)始編譯期的最后一步:綁定類(lèi)
同樣可以使用cmd的方式或者ant task來(lái)執行
java -jar jibx-bind.jar binding.xml
主要的執行類(lèi)為org.jibx.binding.Compile,也可以直接運行此類(lèi)
如果你有java反編譯器,可以查看相應的類(lèi)文件已經(jīng)更改,增加了相應的jibx信息,并且增加了相應的jibx_binding*_access類(lèi)。
在運行期,你只需要使用以下的代碼來(lái)進(jìn)行處理就行了,由于jibx 使用最新的xml pull技術(shù),執行的速度還是比較快的。
java 代碼
 
  1.  IBindingFactory bfact = BindingDirectory.getFactory(Customer.class);  
  2.  // unmarshal customer information from file  
  3.  IUnmarshallingContext uctx = bfact.createUnmarshallingContext();  
  4.  FileInputStream in = new FileInputStream("data.xml");  
  5.  Customer customer = (Customer)uctx.unmarshalDocument(in, null);  
  6. //marshal  
  7. IMarshallingContext mctx = bfact.createMarshallingContext();  
  8. mctx.setIndent(2);  
  9. FileOutputStream out = new FileOutputStream("data.xml");  
  10. mctx.marshalDocument(customer, "UTF-8"null, out);  


如果你的xml數據結構比較固定,可以考慮使用。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SpringMVC 中整合JSON、XML視圖二
JiBX初步 - Missing in Action - JavaEye技術(shù)網(wǎng)站
應用 JAXB 把 XML 轉換成相應的 JavaBean
JAXB完成XML和Java對象的互轉
Java 中的 XML: 數據綁定,第 2 部分:性能
Jaxb 完全手冊
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久