我有一个包含3个对象的对象结构。位置>层次结构>可自定义。 在原始源xml -erdata上,我仅获得位置对象的详细信息。我已经获得了有关层次结构和可定制表的信息。
如果我至少有一个用于层次结构和可定制的列值,则可以使用以下代码并填充派生的值。 xml
<LOCATIONS>
<location>1000</location>
<siteid>xyg</siteid>
<LOCHIERARCHY>
<SYSTEMID>abdc</SYSTEMID>
<PARENT></PARENT>
<CUSTOMTABLE>
<DEPT>MECHANICAL</DEPT>
<OWNER></OWNER>
</CUSTOMTABLE>
</LOCHIERARCHY>
List locHierarchyList =irData.getChildrenData("LOCHIERARCHY");
int locHrSize=locHierarchyList.size();
for (int i=0;i<locHrSize;i++)
{
irData.setAsCurrent(locHierarchyList,i);
irData.setCurrentData("PARENT","xyyyyg");
List customTablerList =irData.getChildrenData("CUSTOMTABLE");
int custSize=customTablerList .size();
for (int i=0;i<custSize;i++)
{
//set values
}
但是我得到的源xml仅包含下面的位置数据,并且我正在尝试构建子数据。我在这里丢失了一些东西。
传入XML
<LOCATIONS>
<location>1000</location>
<siteid>xyg</siteid>
</LOCATIONS>
我的代码
irData.createChildrenData("LOCHIERARCHY");
irData.setAsCurrent();
irData.setCurrentData("SYSTEMID", SYSTEM);
irData.setCurrentData("PARENT", parentLoc);
irData.createChildrenData("CUSTOMTABLE");
irData.setAsCurrent();
但是这不起作用。有人可以帮我吗?
答案 0 :(得分:0)
明白了,只需要使用另一种createChildrenData方法即可。
irData.createChildrenData("LOCHIERARCHY",true);
这个骗人。它创建子集并将其设置为当前子集。