Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据源为XML的Jasper studio不处理子报表_Java_Xml_Jasper Reports - Fatal编程技术网

Java 数据源为XML的Jasper studio不处理子报表

Java 数据源为XML的Jasper studio不处理子报表,java,xml,jasper-reports,Java,Xml,Jasper Reports,我有一个XML,我想从中创建一个Jasper报告,将XML作为数据源。报表包含一个子报表,所以我在主报表中设置了标记,因为我需要遍历所有子报表,但由于root现在设置为主报表,我无法发送另一个不在其中的标记,为了更清楚,请参阅下面的XML <Root> <containerInfo>...</containerInfo> <containerInfo>...</containerInfo> <containerInfo

我有一个XML,我想从中创建一个Jasper报告,将XML作为数据源。报表包含一个子报表,所以我在主报表中设置了标记,因为我需要遍历所有子报表,但由于root现在设置为主报表,我无法发送另一个不在其中的标记,为了更清楚,请参阅下面的XML

<Root>
  <containerInfo>...</containerInfo>
  <containerInfo>...</containerInfo>
  <containerInfo>...</containerInfo>
  <StuffingInfo>...</StuffingInfo>
  <StuffingInfo>...</StuffingInfo>
  <StuffingInfo>...</StuffingInfo>
  <StuffingInfo>...</StuffingInfo>
</root>

...
...
...
...
...
...
...
我需要将ContainerInfo设置为主报表的根目录,并在子报表的“数据源表达式”中发送StuffingInfo,但我不能这样做,因为根目录是ContainerInfo,并且子报表不允许使用表达式“./StuffingInfo”

我在主报表中将根节点设置为ContainerInfo,所以主报表的详细信息工作正常,我尝试在子报表的“数据源表达式”中设置所有内容,但似乎没有任何效果,子报表的数据全部为空


如果我的问题不够清楚,请告诉我。非常感谢您的帮助。

您只能将主报表中的数据子集传递给子报表。是的,这就是问题所在,我要发送的是超集而不是子集,是否没有解决方法?主报表本身根本看不到超集,因此您无法这样做。k感谢您的帮助,我想我必须更改xml模式以满足我的要求欢迎。。。快乐编码