加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml解析

发布时间:2020-12-16 00:16:17 所属栏目:百科 来源:网络整理
导读:目的woType-entityinfo.xml文件的生成: 新的woType-entityinfo.xml与目的woType-entityinfo.xml相比,内容有变化,具体见下。 Config属性增加属性标签:woType,locale,displayName",woTypeAlias,showIn。 l Config属性减少package属性标签,但是生成老的

目的woType-entityinfo.xml文件的生成:

新的woType-entityinfo.xml与目的woType-entityinfo.xml相比,内容有变化,具体见下。

Config属性增加属性标签:woType,locale,displayName",woTypeAlias,showIn。
l Config属性减少package属性标签,但是生成老的文件时,要生成该标签。规则com.zte.ums.项目号.api.模块号。(woType是项目号-模块号)
l Config增加子节点:
<Files>
<ConfigFile name="eflow-smcplan-config.xml"/>
<BPMNFile name="eflow-smcplan-process-1.bpmn20.xml"/>
</Files>
l Attr节点的control属性由isStore和isTransfer 2个属性代替。
l Attr节点的dbDesc属性由isPrimary、isIncre和isNull属性代替。
l 少了2个实体id+ RequestMsg和id +ResponseMsg,应用如果没配置,则生成。配置了则不生成直接拷贝过去。


new :

<?xml version="1.0" encoding="utf-8"?>
<!--
该文件用于描述业务数据前后台传输的实体类(Java类)以及在数据库中对应表结构和字段的定义。定义的内容以及与客户端关系如下:
1.客户端可以根据定义的内容显示(隐藏)或者设值传输的属性以及属性值。
2.客户端可以根据定义的内容在进行查询业务数据时拼写查询条件。比如要查woId是1的一条单子,拼写的json对象如下:
{
[{
fieldName:"woId",
fieldType:"long",
fieldValue:"1",
daoType :"wo"
}]
}
fieldName填写属性名,fieldType填写属性类型,fieldValue填写属性值,daoType填写这个属性所属实体类的类别。


各个节点的含义具体如下。
Config节点:根节点
package属性:由此配置文件生成的Java类文件包名。
woType属性:单子标识
locale属性:语言取值如下。
en_US 英文
zh_CN 中文
displayName属性:显示名称,会被自动生成在i18n中,如果支持其他语言,修改i18n文件。
Files节点:文件集合,包含多个File子节点,每个子节点是属于该种单子配置文件
File节点:描述一个文件。
name属性:文件名
Entitys节点:实体集合,包含多个Entity子节点,每个子节点描述一个实体类以及该类对应的表结构
Entity节点:描述一个实体类以及该类对应的表结构。
id属性:唯一标识,对应生成的Java类名
proto属性:是否生成Java类,无该属性则默认生成对应的java类,取值以及含义如下。
true:生成Java类。
false:不生成Java类。
table属性:配置了该属性,则以该属性值作为表名生成java类对应的表结构,无该属性则不生成表。
include属性:引用其他实体类属性。如工单通用的属性定义在CommonWO中,通过include属性将其直接包含进来。
daoType属性:用于标识该实体类的类别。取值如下。
wo-业务类别
op-操作类别(与工单相关)
common-通用类别(与工单相关)
asset-资产类别(与工单相关)
daoClass属性:该Entity的处理类,可以对特殊字段进行个性化处理
attrs节点:实体类属性或者表字段集合,包含多个attr子节点。
attr节点:实体类属性或者表字段。
name属性:属性名
displayName属性:同上
isPrimary属性:是否是主键
type属性:标识字段(实体类属性)的类型,取值以及含义如下。
int-传输中int32,java中int,db中int
String-传输中string,java中String,db中nvarchar
time-传输中是int64,java中是Long,db中是datetime
long-传输中是int64,java中是Long,db中是bigint
attach-传输中是String,java中是String,db中是nvarchar
自定义的复杂类型-传输中是类名,java中是类名,db中自定义(复杂类型的传输实体类是通过在entity配置或者手工写proto的方式生成的,数据库表的存储由定义者存储)。
框架提供的复杂类型如下:
UserGroupEntity-传输中是UserGroupEntity,java中是UserGroupEntity,db中是nvarchar
AssetEntity-传输中是AssetEntity,java中是AssetEntity,由平台框架处理,存储在数据库EFLOW_WO_ASSET表中
isStore属性:是否存储到数据库中,默认为true存储。取值如下。
true-存储
false-不存储
isTransfer属性:是否前后台传输,默认为true传输。取值如下。
true-传输
false-不传输
isPrimary属性:是否是数据库表的主键,默认false不是。取值如下。
true-是
false-不是
isIncre属性: 数据库字段值是否自增长,默认false不自增。取值如下。
true-自增
false-不自增
isNull属性: 数据库字段的值是否为空,默认为true,为空。取值如下。
true-为空
false-不为空
length属性:当数据库类型为nvarchar时并且需要存储数据库时,此属性有效(长度如果不指定,默认max)
isArray属性:以集合形式在前后台传输,存表的时候定义者自行存储
-->
<Config woType="eflow-smcplan" locale="zh_CN" displayName="巡检计划单">
<Files>
<ConfigFile name="eflow-smcplan-config.xml"/>
<BPMNFile name="eflow-smcplan-process-1.bpmn20.xml"/>
</Files>

<Entitys>
<Entity id="SmcPlanEntity" table="EFLOW_WO_SMCPLAN" include="CommonWO" daoType="wo" daoClass="com.zte.ums.eflow.smc.plan.SmcPlanWoHelper">
<attrs>
<attr name="woId" type="long" isPrimary="true" displayName="工单ID"/>
<attr name="op" isStore="false" type="SmcPlanOPEntity" isArray="true" displayName="操作"/>
<attr name="planName" type="String" length="200" isNull="false" displayName="计划单名称"/>
<attr name="maintainingTypeId" type="String" length="10" isNull="false" displayName=""/>
<attr name="networkTypeId" type="String" length="10" isNull="false" displayName=""/>
<attr name="planBeginTime" type="time" isNull="false" displayName=""/>
<attr name="planEndTime" type="time" isNull="false" displayName=""/>
<attr name="planDesc" type="String" length="500" displayName=""/>
<attr name="changeTime" type="time" displayName=""/>
<attr name="periodType" type="int" isNull="false" displayName=""/>
<attr name="smcAssetInfo" isStore="false" type="SmcAssetEntity" isArray="true" displayName=""/>
<attr name="smcTempleteInfo" type="SmcTempletEntity" isArray="true" displayName=""/>
<attr name="totalTaskNum" isStore="false" type="int" displayName=""/>
<attr name="finishedTaskNum" isStore="false" type="int" displayName=""/>
<attr name="planType" type="int" displayName=""/>
</attrs>
</Entity>


<Entity id="SmcAssetEntity" table="EFLOW_WO_SMCPLAN_ASSET">
<attrs>
<attr name="woId" type="long" isPrimary="true" displayName=""/>
<attr name="actualMaintainingPerson" type="UserGroupEntity" length="200" displayName=""/>
<attr name="assetInfo" type="AssetEntity" displayName="" />
</attrs>
</Entity>

<Entity id="SmcPlanOPEntity" table="EFLOW_WO_SMCPLANOP" include="CommonOP" daoType="op"/>
</Entitys>
</Config>


目的:

<?xml version="1.0" encoding="utf-8"?> <!-- 该文件用于描述业务数据前后台传输的实体类(Java类)以及在数据库中对应表结构和字段的定义。定义的内容以及与客户端关系如下: 1.客户端可以根据定义的内容显示(隐藏)或者设值传输的属性以及属性值。 2.客户端可以根据定义的内容在进行查询业务数据时拼写查询条件。比如要查woId是1的一条单子,拼写的json对象如下: { [{ fieldName:"woId",fieldType:"long",fieldValue:"1",daoType :"wo" }] } fieldName填写属性名,fieldType填写属性类型,fieldValue填写属性值,daoType填写这个属性所属实体类的类别。 各个节点的含义具体如下。 Config节点:根节点 package属性:由此配置文件生成的Java类文件包名。 Entitys节点:实体集合,包含多个Entity子节点,每个子节点描述一个实体类以及该类对应的表结构 Entity节点:描述一个实体类以及该类对应的表结构。 id属性:唯一标识,对应生成的Java类名 proto属性:是否生成Java类,无该属性则默认生成对应的java类,取值以及含义如下。 true:生成Java类。 false:不生成Java类。 table属性:配置了该属性,则以该属性值作为表名生成java类对应的表结构,无该属性则不生成表。 include属性:引用其他实体类属性。如工单通用的属性定义在CommonWO中,通过include属性将其直接包含进来。 daoType属性:用于标识该实体类的类别。取值如下。 wo-业务类别 op-操作类别(与工单相关) common-通用类别(与工单相关) asset-资产类别(与工单相关) daoClass属性:该Entity的处理类,可以对特殊字段进行个性化处理 attrs节点:实体类属性或者表字段集合,包含多个attr子节点。 attr节点:实体类属性或者表字段。 name属性:属性名 control属性:属性值以及含义如下。 1-仅存数据库; 2-仅前后台传输; 3-既存数据库又前后台传输 4-既存数据库又前后台传输,并且是扩展字段形式存储 type属性:标识字段(实体类属性)的类型,取值以及含义如下。 int-传输中int32,java中int,db中int String-传输中string,java中String,db中nvarchar time-传输中是int64,java中是Long,db中是datetime long-传输中是int64,java中是Long,db中是bigint attach-传输中是String,java中是String,db中是nvarchar 自定义的复杂类型-传输中是类名,java中是类名,db中自定义(复杂类型的传输实体类是通过在entity配置或者手工写proto的方式生成的,数据库表的存储由定义者存储)。 框架提供的复杂类型如下: UserGroupEntity-传输中是UserGroupEntity,java中是UserGroupEntity,db中是nvarchar AssetEntity-传输中是AssetEntity,java中是AssetEntity,由平台框架处理,存储在数据库EFLOW_WO_ASSET表中 dbDesc属性:数据库字段的描述,如果没有该属性,则为普通的属性,null 1-主键并自增 identity(1,1) not for replication,constraint PK_EFLOW_WO_CH primary key nonclustered (WOID) 2-非空 not null 3-主键不自增 cantUpdate属性:修改时不修改此字段 该功能还未实现。 length属性:当数据库类型为nvarchar时并且需要存储数据库时,此属性有效(长度如果不指定,默认max) repeate属性:当control为4时有效,表明数据库中可以存储扩展的个数 isArray属性:以集合形式在前后台传输,存表的时候定义者自行存储 --> <Config package="com.zte.ums.eflow.api.smc"> <Entitys> <Entity id="SmcPlanEntity" table="EFLOW_WO_SMCPLAN" include="CommonWO" daoType="wo" daoClass="com.zte.ums.eflow.smc.plan.SmcPlanWoHelper"> <attrs> <attr name="woId" control="3" type="long" dbDesc="3"/> <attr name="op" control="3" type="SmcPlanOPEntity" isArray="true"/> <attr name="planName" control="3" type="String" length="200" dbDesc="2"/> <attr name="maintainingTypeId" control="3" type="String" length="10" dbDesc="2"/> <attr name="networkTypeId" control="3" type="String" length="10" dbDesc="2"/> <attr name="planBeginTime" control="3" type="time" dbDesc="2"/> <attr name="planEndTime" control="3" type="time" dbDesc="2"/> <attr name="planDesc" control="3" type="String" length="500"/> <attr name="changeTime" control="3" type="time"/> <attr name="periodType" control="3" type="int" dbDesc="2"/> <attr name="smcAssetInfo" control="2" type="SmcAssetEntity" isArray="true" /> <attr name="smcTempleteInfo" control="3" type="SmcTempletEntity" isArray="true" /> <attr name="totalTaskNum" control="2" type="int" /> <attr name="finishedTaskNum" control="2" type="int" /> <attr name="planType" control="3" type="int" /> </attrs> </Entity> <Entity id="SmcAssetEntity" table="EFLOW_WO_SMCPLAN_ASSET"> <attrs> <attr name="woId" control="3" type="long" dbDesc="3"/> <attr name="actualMaintainingPerson" control="3" type="UserGroupEntity" length="200"/> <attr name="assetInfo" control="3" type="AssetEntity" /> </attrs> </Entity> <Entity id="SmcPlanOPEntity" table="EFLOW_WO_SMCPLANOP" include="CommonOP" daoType="op"/> <Entity id="SmcPlanEntityRequestMsg"> <attrs> <attr name="aosEnv" control="2" type="AosClntEnvData"/> <attr name="data" control="2" type="SmcPlanEntity" isArray="true"/> </attrs> </Entity> <Entity id="SmcPlanEntityResponseMsg"> <attrs> <attr name="aosEnv" control="2" type="AosClntEnvData"/> <attr name="data" control="2" type="SmcPlanEntity" isArray="true"/> </attrs> </Entity> </Entitys> </Config>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读