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>
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>
相关文章推荐
- 使用dom4j生成xml字符串,以及解析xml字符串
- dom4j解析以及生成xml字符串测试
- Android中pull解析和生成xml数据到一个字符串中
- xstream解析xml字符串和生成对象
- Android中pull解析和生成xml数据到一个字符串中
- dom4j解析xml字符串实例
- 使用jdom解析xml字符串
- 解析格式为纯字符串的MAP封装起来的XML:(2)
- 四种生成和解析XML文档的方法介绍
- 解析xml字符串
- 通过dom4j解析xml字符串
- DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
- 关于DOM4J 解析和生成XML小Demo
- dom4j 生成并解析xml文件
- Dom4j解析和生成XML文档
- servlet获取并解析post请求发送过来的xml字符串
- android 解析xml字符串(转)
- using libxml2连载(2 使用简介与xml tree的生成解析)