##注意事项
1JiBX:1.2.2 (https://sourceforge.net/projects/jibx/files/jibx/jibx-1.2.2/) 2JDK:1.6 (http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html) 3ANT:1.9.12 (http://mirrors.shu.edu.cn/apache//ant/binaries/) 4
版本不一定要是以上的,但是其他的可能会报各种莫名其妙的错误
##重要步骤
###环境变量

###项目结构 
###执行命令及变化 执行的目录: 
ant compile bindgen

###另一种生成xml的方法 参考:http://www.voidcn.com/article/p-gdeaekhv-kw.html 
-
编译Java类文件,生成class文件
-
进入class文件目录
-
执行:
java -cp E:\WORK\jibx_1_2_2\jibx\lib\jibx-tools.jar;bin org.jibx.binding.generator.BindGen Address

##一个简单的例子 
其中jdk是1.6 lib是jibx的jar 
1package com.xh.bean; 2 3public class Student { 4 private String name; 5 private String SNO; 6 private int classNO; 7 private int age; 8 9 public String getName() { 10 return name; 11 } 12 13 public void setName(String name) { 14 this.name = name; 15 } 16 17 public String getSNO() { 18 return SNO; 19 } 20 21 public void setSNO(String SNO) { 22 this.SNO = SNO; 23 } 24 25 public int getClassNO() { 26 return classNO; 27 } 28 29 public void setClassNO(int classNO) { 30 this.classNO = classNO; 31 } 32 33 public int getAge() { 34 return age; 35 } 36 37 public void setAge(int age) { 38 this.age = age; 39 } 40 41 @Override 42 public String toString() { 43 return "Student{" + 44 "name='" + name + '\'' + 45 ", SNO='" + SNO + '\'' + 46 ", classNO=" + classNO + 47 ", age=" + age + 48 '}'; 49 } 50} 51 52 53import com.xh.bean.Student; 54import org.jibx.runtime.BindingDirectory; 55import org.jibx.runtime.IBindingFactory; 56import org.jibx.runtime.IMarshallingContext; 57import org.jibx.runtime.JiBXException; 58 59import java.io.StringWriter; 60 61public class Main { 62 63 public static void main(String[] args) throws JiBXException { 64 Student student=new Student(); 65 student.setAge(12); 66 student.setClassNO(111); 67 student.setName("jon"); 68 student.setSNO("NO_ewewewj3413"); 69 70 IBindingFactory factory = BindingDirectory.getFactory(Student.class); 71 IMarshallingContext mctx= factory.createMarshallingContext(); 72 StringWriter sw=new StringWriter(); 73 mctx.setIndent(2); 74 mctx.marshalDocument(student, "UTF-8", null, sw); 75 System.out.printf(String.valueOf(sw)); 76 77 } 78} 79
如果直接运行测试类: 
就会报错:
1Exception in thread "main" Unable to access binding information for class com.xh.bean.Student 2Make sure the binding has been compiled 3java.lang.NoSuchFieldException: JiBX_bindingList
###重要的步骤:
-
编译项目 如果执行了测试,这一步可以跳过。
-
进入编译后的class根目录:

-
生成bind.xml,注意完整类名
java -cp bin;D:\ide\jibx_1_2_2\jibx\lib\jibx-tools.jar org.jibx.binding.generator.BindGen -b bind.xml -s src com.xh.bean.Student
-
绑定xml
java -cp bin;D:\ide\jibx_1_2_2\jibx\lib\jibx-bind.jar org.jibx.binding.Compile -v bind.xml
再次运行测试:
1<?xml version="1.0" encoding="UTF-8"?> 2<student xmlns="http://xh.com/bean" classNO="111" age="12"> 3 <name>jon</name> 4 <SNO>NO_ewewewj3413</SNO> 5</student>
##相关资料