# 02 任务内置对象

# com.seeyon.v3x.dee

# Document

简要描述:

  • com.seeyon.v3x.dee.Document
  • Document是DEE任务中数据流转对象
  • 每次DEE任务执行都会有一个内置的document变量贯穿始终
  • 在脚本适配器中可以直接使用document变量

Document格式

<root>
	<table1 count=4 totalCount=4>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
	</table1>
	<table2 count=4 totalCount=4>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
	</table2>
</root>
注:如上table1和table2中的属性count值表示实际行数,totalCount是总行数。

例子

document.getRootElement();//获取document根元素

方法列表

方法名称 方法简介
Element getRootElement() 获取Document对象的根元素
Element createElement(String name) 通过指定名称创建Element对象
Element createElement(String name, String value) 通过指定名称创建Element并且设置Element的值
TransformContext getContext() 获取当前DEE任务的上下文

方法签名:

Element getRootElement()

简要描述:

  • 获取Document对象的根元素

参数:

参数名 类型 说明

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Element Element对象

使用例子

Element root = document.getRootElement();//获取document根元素

备注


方法签名:

Element createElement(String name)

简要描述:

  • 通过指定名称创建Element对象

参数:

参数名 类型 说明
name String Element名称

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Element Element对象

使用例子

Element table1 = document.createElement("table1");//创建名称为“table1”的元素
table1.setAttribute("count",3); //添加实际条数**count**属性
table1.setAttribute("totalCount",500);//添加总条数totalCount属性

备注


方法签名:

Element createElement(String name, String value)

简要描述:

  • 通过指定名称创建Element并且设置Element的值

参数:

参数名 类型 说明
name String Element名称
value String Element值

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Element Element对象

使用例子

Element table1 = document.createElement("table1","hello world");//创建名称为“table1”的元素,并且将元素的值设置为“hello world”

创建后此时将table1节点的xml内容:hello world

备注


方法签名:

TransformContext getContext()

简要描述:

  • 获取当前DEE任务的上下文

参数:

参数名 类型 说明

返回值说明

类型 说明
com.seeyon.v3x.dee.TransformContext 上下文

使用例子

document.getContext()//获取当前DEE任务的上下文

备注

  • 通过上述例子,就可以获取到当前任务的上下文,从而获取/设置上下文中的数据

# Document.Element

简要描述:

  • com.seeyon.v3x.dee.Document.Element
  • Element是Document的元素
  • 一级元素为Document根元素,只有唯一一个,名称为“root”
  • 二级元素为“root”的子元素,定义为表名称,名称自定义但不允许重复,可以有多个
  • 三级元素为表元素的子元素,定义为表中行记录,名称固定为“row”,可以有多个
  • 四级元素为“row”的子元素,定义为字段,名称自定义但不允许重复,可以有多个,字段的值为数据值

格式如下:

<root>
	<table1 count=4 totalCount=4>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
	</table1>
	<table2 count=4 totalCount=4>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
		<row>
			<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
		</row>
	</table2>
</root>

方法列表:

方法名称 方法简介
String getName() 获取当前元素的名称
Object getValue() 获取当前元素的值
void setValue(Object value) 设置当前元素的值
ListgetChildren() 获取当前元素的所有直接子元素
ListgetChildren(String name) 根据指定名称获取元素的直接子元素
ListgetAttributes() 获取当前元素的所有属性
Attribute getAttribute(String name) 根据指定名称获取当前元素的属性
Attribute setAttribute(String name, Object value) 设置当前元素的属性
Element getChild(String name) 根据名称获取当前元素的子元素
Element addChild(String name) 为当前元素增加指定名称的子元素
Element addChild(Element element) 为当前元素增加子元素
void removeChild(String name) 根据指定元素名称删除当前元素的子元素

方法签名:

String getName()

简要描述:

  • 获取当前元素的名称

参数:

参数名 类型 说明

返回值说明

类型 说明
String 元素名称

使用例子

document.getRootElement().getName();//可以获取root元素的名称

备注


方法签名:

Object getValue();

简要描述:

  • 获取当前元素的值

参数:

参数名 类型 说明

返回值说明

类型 说明
Object 元素的值

使用例子

List<Element> list = document.getRootElement().getChild("table1").getChildren();//先获取table1的所有**row**元素
list.**get**(0).getChild("field1").getValue();//获取第一个**row**元素的子元素field1元素的值

备注


方法签名:

void setValue(Object value)

简要描述:

  • 设置当前元素的值

参数:

参数名 类型 说明
value Object 元素的值

返回值说明

类型 说明
void 没有返回值

使用例子

List<Element> list = document.getRootElement().getChild("table1").getChildren();//先获取table1的所有**row**元素
list.**get**(0).getChild("field1").setValue("hello world");//获取第一个**row**元素的子元素field1,并且设置field1元素的值为"hello world"

备注


方法签名:

List getChildren()

简要描述:

  • 获取当前元素的所有直接子元素

参数:

参数名 类型 说明

返回值说明

类型 说明
List 所有直接子节点Element对象的集合

使用例子

document.getRootElement().getChildren();//可获取root节点下所有直接子节点(即表节点)

备注


方法签名:

List getChildren(String name)

简要描述:

  • 根据指定名称获取元素的直接子元素

参数:

参数名 类型 说明
name String 子节点名称

返回值说明

类型 说明
List 所有名称为name的直接子节点Element对象的集合

使用例子

document.getRootElement().getChild("table1").getChildren("row");//可获取表table1节点下的所有**row**节点的集合

备注


方法签名:

List getAttributes()

简要描述:

  • 获取当前元素的所有属性

参数:

参数名 类型 说明

返回值说明

类型 说明
List 元素所有属性的集合

使用例子

document.getRootElement().getChild("table1").getAttributes();//获取表节点table1的所有属性

备注


方法签名:

Attribute getAttribute(String name)

简要描述:

  • 根据指定名称获取当前元素的属性

参数:

参数名 类型 说明
name String 属性名称

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Attribute 元素属性对象

使用例子

document.getRootElement().getChild("table1").getAttribute("totalCount");//获取表节点table1的“totalCount”属性

备注


方法签名:

Attribute setAttribute(String name, Object value)

简要描述:

  • 设置当前元素的属性

参数:

参数名 类型 说明
name String 属性名称
value Object 属性值

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Attribute 设置到元素的属性对象

使用例子

document.getRootElement().getChild("table1").setAttribute("id","888");//设置元素table1的属性id的值为“888”,如果元素table1没有属性“id”,那么会新建属性名称为“id”,值为“888”,并且设置给元素

备注

备注


方法签名:

Element getChild(String name)

简要描述:

  • 根据名称获取当前元素的子元素

参数:

参数名 类型 说明
name String 子元素名称

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Element 子元素对象

使用例子

document.getRootElement().getChild("table1");//获取根元素下的名称为table1的表元素

备注


方法签名:

Element addChild(String name)

简要描述:

  • 为当前元素增加指定名称的子元素

参数:

参数名 类型 说明
name String 子元素名称

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Element 子元素对象

使用例子

document.getRootElement().addChild("table2");//增加根元素的子元素,名称为“table2”

备注


方法签名:

Element addChild(Element element)

简要描述:

  • 为当前元素增加子元素

参数:

参数名 类型 说明
element com.seeyon.v3x.dee.Document.Element 子元素Element对象

返回值说明

类型 说明
com.seeyon.v3x.dee.Document.Element 子元素对象

使用例子

Element table3 = document.createElement("table3");//创建名称为“table3”的元素
document.getRootElement().addChild(table3);//将“table3”元素插入根元素下,作为根元素的子元素

备注


方法签名:

void removeChild(String name)

简要描述:

  • 根据指定元素名称删除当前元素的子元素

参数:

参数名 类型 说明
name String 子元素名称

返回值说明

类型 说明
void 没有返回值

使用例子

document.getRootElement().removeChild("table1");//删除根元素下名称为“table1”的子元素

备注

# Document.Attribute

简要描述:

  • com.seeyon.v3x.dee.Document.Attribute
  • Attribute是Element元素上的属性
//totalCount就是Attribute ...
  • 如何获取Attribute
document.getRootElement().getChild("table").getAttribute("totalCount");//可以获取**table**元素的名称为“totalCount”的Attribute对象

方法列表

方法名称 方法简介
String getName() 获取Attribute对象的名称
Object getValue() 获取当前Attribute对象的值
void setValue(Object value) 给当前Attribute对象设置值

方法签名:

String getName()

简要描述:

  • 获取Attribute对象的名称

参数:

参数名 类型 说明

返回值说明

类型 说明
String Attribute对象的名称

使用例子

List<Attribute> list = document.getRootElement().getChild("table").getAttributes()*;*
**for** (Attribute attribute:list){
   attribute.getName()*;*
}//可以获取table元素的所有属性的名称

备注


方法签名:

Object getValue()

简要描述:

  • 获取当前Attribute对象的值

参数:

参数名 类型 说明

返回值说明

类型 说明
Object Attribute对象的值,类型为Object

使用例子

document.getRootElement().getChild("table").getAttribute("totalCount").getValue();//可以获取**table**元素的名称为“totalCount”的Attribute对象的值

备注


方法签名:

void setValue(Object value)

简要描述:

  • 给当前Attribute对象设置值

参数:

参数名 类型 说明
value Object Attribute对象的值

返回值说明

类型 说明
void 没有返回值

使用例子

document.getRootElement().getChild("table").getAttribute("totalCount").setValue("500");//将**table**元素的名称为“totalCount”的属性的值设置为“500”

备注

# TransformContext

简要描述:

  • com.seeyon.v3x.dee.TransformContext
  • 转换上下文
  • 用于整个DEE任务生命周期中传递数据

如何获取上下文,例子:

document.getContext();//可以获取当前DEE任务的转换上下文

方法列表

方法名称 方法简介
void setAttribute(String name, Object object) 向当前DEE任务的转换上下文中添加属性
Object getAttribute(String name) 根据名称获取当前DEE任务转换上下文中的属性值
Parameters getParameters() 获取当前DEE任务的参数容器

方法签名:

void setAttribute(String name, Object object)

简要描述:

  • 向当前DEE任务的转换上下文中添加属性

参数:

参数名 类型 说明
name String 属性名称
object Object 属性值

返回值说明

类型 说明
void 没有返回值

使用例子

document.getContext().setAttribute("MyData","hello world");//向当前任务的转换上下文中添加了一个名称为“MyData”的属性,值为“hello world”

备注


方法签名:

Object getAttribute(String name)

简要描述:

  • 根据名称获取当前DEE任务转换上下文中的属性值

参数:

参数名 类型 说明
name String 属性名称

返回值说明

类型 说明
Object 属性值

使用例子

document.getContext().getAttribute("MyData");//获取当前DEE任务的转换上下文中名称为“MyData”的属性的值

备注


方法签名:

Parameters getParameters()

简要描述:

  • 获取当前DEE任务的参数容器

参数:

参数名 类型 说明

返回值说明

类型 说明
com.seeyon.v3x.dee.Parameters 参数容器,当前DEE任务的所有参数都在该容器中

使用例子

document.getContext().getParameters();//获取当前DEE任务的参数容器

备注

# Parameters

简要描述:

  • com.seeyon.v3x.dee.Parameters
  • Parameters是当前DEE任务的参数容器

如何获取Parameters

document.getContext().getParameters();//可以获取当前DEE任务的参数容器

方法列表

方法名称 方法简介
public Parameters add(String name, Object value) 向参数容器中添加参数
public Object getValue(String name) 获取指定名称的参数值

方法签名:

public Parameters add(String name, Object value)

简要描述:

  • 向参数容器中添加参数

参数:

参数名 类型 说明
name String 参数名称
value Object 参数值

返回值说明

类型 说明
com.seeyon.v3x.dee.Parameters 参数容器

使用例子

document.getContext().getParameters().**add**("myData","hello world");//向当前DEE任务的参数容器中添加名称为“myData”的参数,值为“hello world”

备注


方法签名:

public Object getValue(String name)

简要描述:

  • 获取指定名称的参数值

参数:

参数名 类型 说明
name String 参数名称

返回值说明

类型 说明
Object 参数值

使用例子

document.getContext().getParameters().**add**("myData","hello world");
document.getContext().getParameters().getValue("myData");//获取名称为myData的参数值

备注