您的位置:首页 > 其它

demo4j生成字符串xml和解析xml

2016-12-05 11:26 274 查看
 //拼接XML
       
Document document = DocumentHelper.createDocument();
Element root = document.addElement("root");
Element data =  root.addElement("data");
data.addAttribute("class", "map");
Element username =  data.addElement("username").addText(loginid);
Element password  =  data.addElement("password").addText(password_gd);
Element list =  data.addElement("list").addAttribute("class", "list");
for (int i = 0; i <xzcflist.size(); i++) {
Element obj  =  list.addElement("obj");
obj.addElement("cfwsh").addText(xzcflist.get(i).getCfWsh());
obj.addElement("cfcfmc").addText(xzcflist.get(i).getCfCfmc());
 
}
//System.out.println(document.asXML());
Object[] tokens = client.invoke("xzcfDataReport", new Object[] {document.asXML()});

//解析xml字符串
public  List<Integer> jxXml(Object tokens)
{
List<Integer> sblist=new ArrayList<Integer>();
Document doc = null;
try {
doc = DocumentHelper.parseText(tokens.toString());
Element root = doc.getRootElement();// 指向根节点   
 Element normal = root.element("data");
 Element failsRecord= normal.element("failsRecord");// 所有的Item节点    
 List<Element> lstData=failsRecord.elements("item");
 for (int i = 0; i < lstData.size(); i++) {    
              Element etime = (Element) lstData.get(i);    
              System.out.println(Integer.parseInt(etime.attribute("index").getText())); 
              sblist.add(Integer.parseInt(etime.attribute("index").getText()));
          }  
} catch (DocumentException e) {
e.printStackTrace();
}
return sblist;
}

生成的xml

<?xml version="1.0" encoding="UTF-8"?>

<root>

<data class=”map”>

<username>test</username>

<password >0c5233c74cbdf474e065257867e4d733</password>

<list class=”list”>

               <obj>

                    <xkwsh>行政许可决定书文号</xkwsh>

                    <xkxmmc>项目名称</xkxmmc>

                    <xksplb>审批类别</xksplb>

                    <xknr>许可内容</xknr>

                    <xkxdr>行政相对人名称</xkxdr>

                    <xkxdrshxym>统一社会信用代码</xkxdrshxym>

                    <xkxdrzdm>组织机构代码</xkxdrzdm>

                    <xkxdrgsdj>工商登记码</xkxdrgsdj>

                    <xkxdrswdj>税务登记号</xkxdrswdj>

                    <xkxdrsfz>居民身份证号</xkxdrsfz>

                    <xkfr>法定代表人姓名</xkfr>

                    <xkjdrq>许可决定日期</xkjdrq>

                    <xkjzq>许可截止期</xkjzq>

                    <xkxzjg>许可机关</xkxzjg>

                    <xkzt>当前状态</xkzt>

                    <xkdfbm>地方编码</xkdfbm>

                    <sjc>数据更新时间戳</sjc>

                    <bz>备注</bz>

</obj>

<obj></obj>

<obj></obj>

……

</list>

</data>

</root>

解析的xml

<?xml version="1.0" encoding="UTF-8"?>

<root>

<data>

    <code> 44030</code>

    <desc>数据部分上报成功,还有部分错误数据</desc>

<failcount>1</failcount>

<insertcount>0</insertcount>

    <updatecount>1</updatecount>

<text>

本次上报2条数据,新增0条,更新1条,失败1条

2016-6-3 17:04:08:记录第2条,未导入成功(“行政许可决定书文号”您填写的数据不能为空,如前置许可无决定文书号,此处填文字“空”;为了提高数据的质量,请按照文档要求的数据格式上传数据,谢谢!)

</text>

<failsRecord>

    <item index=’2’ reason=’“行政许可决定书文号”您填写的数据不能为空,如前置许可无决定文书号,此处填文字“空”;’ />

</failsRecord>

</data>

</root>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: