将jaspersoft xml文件转换为扑朔迷离代码

发布于 2025-01-19 11:19:37 字数 4391 浏览 2 评论 0 原文

因此,我的客户希望用户在jaspersoft Studio中创建表单或报告,并获取该表单的XML文件和扑动的前端选择该文件,并将该XML文件代码转换为扑动代码,并在将代码转换为flutter,该代码运行并运行该代码显示表格。我对这件事是否可能以及是否有可能实现这一目标感到困惑。

先感谢您。

XML代码由Jaspersoft Studio生成。那是Jaspersoft Studio生成的代码的部分。

<page>
        <frame>
            <reportElement uuid="6321f5e3-86eb-444f-acc1-8daaaa0d6c60" mode="Opaque" x="0" y="0" width="595" height="92" backcolor="#006699" origin="0" srcId="1" printId="1"/>
            <text textHeight="42.765625" lineSpacingFactor="1.2578125" leadingOffset="-7.470703">
                <reportElement uuid="9e48917a-7b59-4ffd-baad-725f45563194" x="20" y="20" width="234" height="43" forecolor="#FFFFFF" origin="0" srcId="2" printId="1"/>
                <font size="34" isBold="true"/>
                <textContent><![CDATA[Order]]></textContent>
            </text>
            <text textAlignment="Right" textHeight="17.609375" lineSpacingFactor="1.2578125" leadingOffset="-3.0761719">
                <reportElement uuid="0a399baa-bad3-4b1a-9fe3-bb1c563e6a27" x="395" y="43" width="180" height="20" forecolor="#FFFFFF" origin="0" srcId="3" printId="1"/>
                <font size="14" isBold="false"/>
                <textContent><![CDATA[Testing the order]]></textContent>
            </text>
        </frame>
        <frame>
            <reportElement uuid="2278b046-0e96-4025-83fa-9c35bac203a6" x="20" y="105" width="540" height="690" origin="4" srcId="7" printId="2">
                <property name="net.sf.jasperreports.export.headertoolbar.tableUUID" value="2278b046-0e96-4025-83fa-9c35bac203a6"/>
            </reportElement>
            <frame>
                <reportElement uuid="f44cdc1c-8e5a-496d-beda-493ab750a720" style="Table_TH" x="0" y="0" width="90" height="30" origin="7" srcId="16" printId="1">
                    <property name="net.sf.jasperreports.export.html.class" value="jrcel cel_ORDERDATE_1325012930_0"/>
                </reportElement>
                <text textHeight="23.898438" lineSpacingFactor="1.2578125" leadingOffset="-4.1748047">
                    <reportElement uuid="fd48262d-174e-4d8e-8b0e-da62eb20a1c8" mode="Transparent" x="0" y="0" width="90" height="30" forecolor="#006699" backcolor="#E6E6E6" origin="7" srcId="17" printId="1"/>
                    <font size="19" isBold="true"/>
                    <textContent><![CDATA[Header]]></textContent>
                </text>
            </frame>
            <frame>
                <reportElement uuid="48e54e2c-102d-4443-879b-e27373f25504" style="Table_TH" x="90" y="0" width="90" height="30" origin="7" srcId="18" printId="1">
                    <property name="net.sf.jasperreports.export.html.class" value="jrcel cel_SHIPPEDDATE_1156636890_0"/>
                </reportElement>
                <text textHeight="23.898438" lineSpacingFactor="1.2578125" leadingOffset="-4.1748047">
                    <reportElement uuid="6abca231-4f43-4538-9784-021a62e23f88" mode="Transparent" x="0" y="0" width="90" height="30" forecolor="#006699" backcolor="#E6E6E6" origin="7" srcId="19" printId="1"/>
                    <font size="19" isBold="true"/>
                    <textContent><![CDATA[Header]]></textContent>
                </text>
            </frame>
            <frame>
                <reportElement uuid="ca332291-0f78-4f82-b803-a0b25d04591a" style="Table_TH" x="180" y="0" width="90" height="30" origin="7" srcId="20" printId="1">
                    <property name="net.sf.jasperreports.export.html.class" value="jrcel cel_SHIPNAME_2110597027_0"/>
                </reportElement>
                <text textHeight="23.898438" lineSpacingFactor="1.2578125" leadingOffset="-4.1748047">
                    <reportElement uuid="6ba7657f-9e87-42b3-9208-e6634155e915" mode="Transparent" x="0" y="0" width="90" height="30" forecolor="#006699" backcolor="#E6E6E6" origin="7" srcId="21" printId="1"/>
                    <font size="19" isBold="true"/>
                    <textContent><![CDATA[Header]]></textContent>
                </text>
            </frame>

So my client wants that user creates a form or report in Jaspersoft studio and get an XML file of that form and flutter front end pick that file and convert that XML file code into flutter code and after converting that code in a flutter that code run and show the form. I am confused about whether that thing is possible and if it's possible how I can achieve this.

Thank you in advance.

XML code generated by Jaspersoft studio. That was the chunk of that generated code by Jaspersoft studio.

<page>
        <frame>
            <reportElement uuid="6321f5e3-86eb-444f-acc1-8daaaa0d6c60" mode="Opaque" x="0" y="0" width="595" height="92" backcolor="#006699" origin="0" srcId="1" printId="1"/>
            <text textHeight="42.765625" lineSpacingFactor="1.2578125" leadingOffset="-7.470703">
                <reportElement uuid="9e48917a-7b59-4ffd-baad-725f45563194" x="20" y="20" width="234" height="43" forecolor="#FFFFFF" origin="0" srcId="2" printId="1"/>
                <font size="34" isBold="true"/>
                <textContent><![CDATA[Order]]></textContent>
            </text>
            <text textAlignment="Right" textHeight="17.609375" lineSpacingFactor="1.2578125" leadingOffset="-3.0761719">
                <reportElement uuid="0a399baa-bad3-4b1a-9fe3-bb1c563e6a27" x="395" y="43" width="180" height="20" forecolor="#FFFFFF" origin="0" srcId="3" printId="1"/>
                <font size="14" isBold="false"/>
                <textContent><![CDATA[Testing the order]]></textContent>
            </text>
        </frame>
        <frame>
            <reportElement uuid="2278b046-0e96-4025-83fa-9c35bac203a6" x="20" y="105" width="540" height="690" origin="4" srcId="7" printId="2">
                <property name="net.sf.jasperreports.export.headertoolbar.tableUUID" value="2278b046-0e96-4025-83fa-9c35bac203a6"/>
            </reportElement>
            <frame>
                <reportElement uuid="f44cdc1c-8e5a-496d-beda-493ab750a720" style="Table_TH" x="0" y="0" width="90" height="30" origin="7" srcId="16" printId="1">
                    <property name="net.sf.jasperreports.export.html.class" value="jrcel cel_ORDERDATE_1325012930_0"/>
                </reportElement>
                <text textHeight="23.898438" lineSpacingFactor="1.2578125" leadingOffset="-4.1748047">
                    <reportElement uuid="fd48262d-174e-4d8e-8b0e-da62eb20a1c8" mode="Transparent" x="0" y="0" width="90" height="30" forecolor="#006699" backcolor="#E6E6E6" origin="7" srcId="17" printId="1"/>
                    <font size="19" isBold="true"/>
                    <textContent><![CDATA[Header]]></textContent>
                </text>
            </frame>
            <frame>
                <reportElement uuid="48e54e2c-102d-4443-879b-e27373f25504" style="Table_TH" x="90" y="0" width="90" height="30" origin="7" srcId="18" printId="1">
                    <property name="net.sf.jasperreports.export.html.class" value="jrcel cel_SHIPPEDDATE_1156636890_0"/>
                </reportElement>
                <text textHeight="23.898438" lineSpacingFactor="1.2578125" leadingOffset="-4.1748047">
                    <reportElement uuid="6abca231-4f43-4538-9784-021a62e23f88" mode="Transparent" x="0" y="0" width="90" height="30" forecolor="#006699" backcolor="#E6E6E6" origin="7" srcId="19" printId="1"/>
                    <font size="19" isBold="true"/>
                    <textContent><![CDATA[Header]]></textContent>
                </text>
            </frame>
            <frame>
                <reportElement uuid="ca332291-0f78-4f82-b803-a0b25d04591a" style="Table_TH" x="180" y="0" width="90" height="30" origin="7" srcId="20" printId="1">
                    <property name="net.sf.jasperreports.export.html.class" value="jrcel cel_SHIPNAME_2110597027_0"/>
                </reportElement>
                <text textHeight="23.898438" lineSpacingFactor="1.2578125" leadingOffset="-4.1748047">
                    <reportElement uuid="6ba7657f-9e87-42b3-9208-e6634155e915" mode="Transparent" x="0" y="0" width="90" height="30" forecolor="#006699" backcolor="#E6E6E6" origin="7" srcId="21" printId="1"/>
                    <font size="19" isBold="true"/>
                    <textContent><![CDATA[Header]]></textContent>
                </text>
            </frame>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冧九 2025-01-26 11:19:37

您可以做的是,为 XML 表单中的每个可能条目保留一些小部件,然后当您收到 XML 表单时,只需通过您创建的解析函数运行它即可。该解析函数将接收 XML 并给出所需的小部件列表。获得小部件列表后,您可以使用列表视图构建器在屏幕上构建它们。

What you can do is, keep some widgets for each possible entry in the XML form, then when you receive the XML form, just run it through a parsing function you'd create. This parsing function will take in the XML and give out a list of widgets required. Once you have the list of widgets, you can use a list view builder to build them on a screen.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文