Castor會忽略默認映射文件中未指定的字段。
實施例:(給定一個對象和作爲下面的映射)含有2個字段
對象而映射文件只指定領域僅 1映射。
public class TestObj {
String param1;
String param2;
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
public String getParam2() {
return param2;
}
public void setParam2(String param2) {
this.param2 = param2;
}}
映射文件(測試mapping.xml)
<mapping>
<class name="TestObj">
<map-to />
<field name="param1" type="java.lang.String">
<bind-xml name="param1" node="element" />
</field>
</class>
</mapping>
測試代碼打印XML
Marshaller marshaller = new Marshaller();
Mapping mapping = new Mapping();
mapping.loadMapping("test-mapping.xml");
marshaller.setMapping(mapping);
TestObj obj = new TestObj();
StringWriter writer = new StringWriter();
obj.setParam1("1");
obj.setParam2("2");
marshaller.setWriter(writer);
marshaller.marshal(obj);
System.out.println("output:"+writer.toString());
最終結果
<test-obj>
<param1>1</param1>
</test-obj>
感謝,但我沒有想要使用映射文件,因爲我有很多子類。最後,如果您設置關鍵字瞬態字段可能會被XML文件中的編碼器忽略。 –