Java中如何拼接xml

现在有一段 xml 文件在 Java 代码中运用, xml的格式已转换成字符串类型的数据,当你字段xml 丢进Java 代码中是会进行自动转义的 如下图所示:

在这里插入图片描述

现在记录的是xml 中循环一段xml 应该怎么使用
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
    <head>
        <H>
            <SQR>0120110321</SQR>
            <LX>欠件</LX>
            <QJDH>QJ20211119001</QJDH>
            <GLZB>DG2021xxxxD01</GLZB>
            <ZBMC>DG2021xxxxD01管理组别</ZBMC>
            <HTH>DG2021xxxx</HTH>
            <XMMC>DG2021xxxx项目名称</XMMC>
            <YSLB>快递</YSLB>
            <WLGS>顺风快递</WLGS>
            <KDDH>SF1407472980813</KDDH>
        </H>
        <Line>
            <L>
                <WLBH>1501001</WLBH>
                <WLMC>1501001名称</WLMC>
                <XHGG>1501001规格</XHGG>
                <DW></DW>
                <SL>2</SL>
            </L>
            <L>
                <WLBH>1501002</WLBH>
                <WLMC>1501002名称</WLMC>
                <XHGG>1501002规格</XHGG>
                <DW></DW>
                <SL>3</SL>
            </L>
        </Line>
    </head>
</root>
中间的xml 循环在Java 代码中传值 进行拼接 1.截取头部和尾部的xml 2.用 StringBuffer 进行拼接 代码如下
                //1.截取某段字符串
                String listHead = str.substring(0, str.lastIndexOf("</Line>"));
                //2.截取后端部门
                String listFoot = str.substring(str.lastIndexOf("</Line>"), str.lastIndexOf(""));
         
                //创建一个拼接对象
                StringBuffer sb = new StringBuffer();
                //拼接头部
                sb.append(listHead);

                    //查询获取值 ==> 从物品清单详细里面取出数据
//                    List<ADeliveryGoods> goodsList = deliveryGoodsService.selectADeliveryGoodsBylogisticsId(logisticsId);

                    for (ADeliveryGoods goods1 : list) {
                        String goodsCode_1 = goods1.getGoodsCode();
                        String goodsName_1 = goods1.getGoodsName();
                        String goodsSpecs_1 = goods1.getGoodsSpecs();
                        String goodsUnit_1 = goods1.getGoodsUnit();
                        Double goodsNum_1 = goods1.getGoodsNum();


                        sb.append("<L>\n");
                        sb.append("<WLBH>" + StrUtil.nullToEmpty(goodsCode_1) + "</WLBH>\n");
                        sb.append("<WLMC>" + StrUtil.nullToEmpty(goodsName_1) + "</WLMC>\n");
                        sb.append("<XHGG>" + StrUtil.nullToEmpty(goodsSpecs_1) + "</XHGG>\n");
                        sb.append("<DW>" + StrUtil.nullToEmpty(goodsUnit_1) + "</DW>\n");
                        sb.append("<SL>" + StrUtil.nullToEmpty(String.valueOf(goodsNum_1)) + "</SL>\n");
                        sb.append("</L>\n");
                    }


                //拼接尾部
                sb.append(listFoot);

                String finalStr = String.valueOf(sb);
                //拼接出来的字符创  ==> 传入 webservice
                System.out.println(finalStr);

中间的就可以进行循环传入数据了
希望可以帮助到大家, 有更好的方法可以相互探讨,深入了解

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐