# xco **Repository Path**: 6666/xco ## Basic Information - **Project Name**: xco - **Description**: XSON Common Object - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2017-01-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XCO ------ ### 1. XCO简介 XCO(XSON common object)是一种通用的数据对象, 底层采用一种类似Map的数据结构进行数据的存储访问,能够方便的以XML方式对数据对象进行序列化和反序列化,适合同构、异构系统之间的数据传输和交换。 ### 2. 支持的数据类型 a. 8种基本类型(byte, boolean, short, int, long, float, double, char) b. 8种基本类型数组 e. String, String数组, String集合 c. Date, sql.Date, sql.Time d. BigInteger, BigDecimal e. XCO, XCO数组, XCO集合 ### 3. XML格式 说明 a. 以此为例: H: 数据类型标识,当前标示short类型 K: key V: 具体数值 b. 数据类型标识说明 B: byte H: short I: int L: Long F: float D: double C: char O: boolean S: String X: xco A: date E: sql.date G: sql.time J: sql.timestamp K: bigInteger M: bigDecimal .. 其他详见:org.xson.common.object.DataType ### 4. 常用方法 a. 赋值 public final void setIntegerValue(String field, int var) 设置一个int类型的值, field为key public final void setStringValue(String field, String var) 设置一个String类型的值, field为key //setXxx b. 取值 public final int getIntegerValue(String field) 获取一个int类型的值, field为key public final String getStringValue(String field) 获取一个String类型的值, field为key //getXxx c. 序列化 public String toXMLString() 把XCO对象以XML方式进行序列化 public static XCO fromXML(String xml) 从一个XML字符串反序列化为XCO对象 public String toJSON() 把XCO对象以JSON方式进行序列化 ### 5. 使用示例 XCO xco = new XCO(); // 设置基本类型 xco.setByteValue("byteVal", (byte) 3); xco.setBooleanValue("booleanVal", true); xco.setShortValue("shortVal", (short) 5); xco.setIntegerValue("intVal", 2); xco.setLongValue("longVal", 2L); xco.setFloatValue("floatVal", 2.0F); xco.setDoubleValue("doubleVal", -0.3D); xco.setCharValue("charVal", 'x'); // 设置对象类型 xco.setStringValue("stringVal", "hello world"); xco.setDateTimeValue("dateTimeVal", new java.util.Date()); xco.setDateValue("dateVal", new java.sql.Date(System.currentTimeMillis())); xco.setTimeValue("TimeVal", new java.sql.Time(System.currentTimeMillis())); xco.setBigIntegerValue("bigIntegerVal", new BigInteger("1380000")); xco.setBigDecimalValue("bigDecimal", new BigDecimal("1380000.9999")); xco.setXCOValue("xcoVal", new XCO()); // 设置数组 xco.setIntegerArrayValue("intArray", new int[] { 1, 3, 5, 8 }); xco.setStringArrayValue("stringArray", new String[] { "aa", "bb", "cc" }); // 设置集合 List list = new ArrayList(); xco.setStringListValue("stringList", list); Set set = new TreeSet(); xco.setStringSetValue("stringSet", set); // XML序列化 String xml = xco.toXMLString(); // 反序列化 XCO newXco = XCO.fromXML(xml); // 取值 byte byteVal = xco.getByteValue("byteVal"); boolean booleanVal = xco.getBooleanValue("booleanVal"); short shortVal = xco.getShortValue("shortVal"); int intVal = xco.getIntegerValue("intVal"); long longVal = xco.getLongValue("longVal"); float floatVal = xco.getFloatValue("floatVal"); double doubleVal = xco.getDoubleValue("doubleVal"); String stringVal = xco.getStringValue("stringVal"); XCO xcoVal = xco.getXCOValue("xcoVal"); ### 6. 设计图 ![XCO设计图](https://github.com/xsonorg/imagedoc/blob/master/img/xco.png)