您的位置:首页 > 其它

sfz

2017-06-09 12:43 106 查看

利用dom4j 处理调用webService接口返回的xml数据

由于xml文件中存在不需要(
<ROW index="2">...</ROW>
)的数据,本文通过删除节点方式屏蔽

package test1.test1;

import java.io.File;

import java.util.List;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

import org.junit.Test;

public class Test1 {

@Test
@SuppressWarnings(value="unchecked")
public void xmlConvertString() throws Exception {
// dom4j将 xml文件转xml字符串
Document document = new SAXReader().read(new File(
"D://workspace//test1//src//test//java//XZHZ.xml"));
String text = document.asXML();


// System.out.println(text);

// dom4j 将xml字符串解析
Document doc = DocumentHelper.parseText(text);
Element element = doc.getRootElement();
String num = element.element("RECORD").element("RESULT")
.attributeValue("num");
int val = Integer.parseInt(num);
if (val > 1) {
Element child = element.element("RECORD").element("RESULT");
// 取得RESULT下所有节点
List<Element> sonList = child.elements();
for (Element e : sonList) {
if (e.elementTextTrim("DQHJZT").equals("已处理")) {
e.element("DQHJZT").getParent().detach();
}
}
}
getNodes(element.element("RECORD").element("RESULT"));//测试结果显示“已处理”节点被删掉
}

/*
* 递归  获取所有节点
* @param Element node
*/
@SuppressWarnings("unchecked")
public static void getNodes(Element node){
//System.out.println("---开始新节点---");
//当前节点名称、内容、属性
System.out.println("当前节点名称:"+node.getName());
System.out.println("当前节点内容:"+node.getTextTrim());
//当前节点所有属性
List<Attribute> attList = node.attributes();
for(Attribute attr : attList){//遍历当前节点所有属性
System.out.println("属性名:"+attr.getName()
+"属性值:"+attr.getValue());
}
//递归遍历当前节点下的所有子节点
List<Element> sonList = node.elements();//所有一级子节点的list
//遍历所有一级子节点
for(Element e : sonList){
getNodes(e);
}
}


}

xml

<DATA code="10" msg="接口调用成功">
<RECORD>

<condition sid="V_SFZ_SLXX" no="1">
<GMSFHM>3622021991********</GMSFHM>
</condition>

<RESULT num="2">
<ROW index="1">
<ID>5d53d57b9ba44eda268518cc3e8424e</ID>
<SLH>44030443120117042890001</SLH>
<RID>362202199108****000021168294</RID>
<GMSFHM>3622021991********</GMSFHM>
<CSRQ>19910824</CSRQ><XM>熊**</XM>
<XB>1</XB><XBMC>男</XBMC><MZ>01</MZ><MZMC>汉族</MZMC>
<ZZ>广东省*******</ZZ>
<ZPLSH>QT007786604</ZPLSH><SSXQ>440304</SSXQ>
<SSXQMC>广东省*****</SSXQMC><PCS>440***540000</PCS>
<PCSMC>**派出所</PCSMC><JCW>440***003008</JCW>
<JCWMC>**社区工作站</JCWMC><XZJD>440304003</XZJD>
<XZJDMC>**街道办</XZJDMC><ZZLX>1</ZZLX>
<ZZLXMC>普通证件</ZZLXMC><LZFS>10</LZFS>
<LZFSMC>受理机关领取</LZFSMC><SLYY>23</SLYY>
<SLYYMC>姓名变更换领</SLYYMC>
<SQRGMSFHM>3622021991********</SQRGMSFHM>
<SQRXM>熊**</SQRXM>
<SQRLXDH>1881901****</SQRLXDH>
<CJSJ>20170428085
ba5b
625</CJSJ>
<CJDW>440304999991</CJDW>
<CJDWMC>**户政中心</CJDWMC>
<CJR>057034</CJR><CJRXM>01号申领机</CJRXM>
<QFSJ>20170428184055</QFSJ><QFR>440301******19802X</QFR>
<QFDW>440304000000</QFDW><QFDWMC>**市公安局**分局</QFDWMC>
<QFRQ>20170428</QFRQ><QFJG>**市公安局**分局</QFJG>
<YXQQ>20170428</YXQQ><YXQZ>20270428</YXQZ><ZWCJJG>1</ZWCJJG>
<ZWCJJGMC>两枚指纹信息注册成功</ZWCJJGMC><ZWY_ZCJG>1</ZWY_ZCJG>
<ZWY_ZCJGMC>注册成功</ZWY_ZCJGMC><ZWY_ZW>12</ZWY_ZW>
<ZWY_ZWMC>右手食指</ZWY_ZWMC><ZWY_TXZLZ>69</ZWY_TXZLZ><ZWE_ZCJG>1</ZWE_ZCJG>
<ZWE_ZCJGMC>注册成功</ZWE_ZCJGMC><ZWE_ZW>18</ZWE_ZW><ZWE_ZWMC>左手中指</ZWE_ZWMC>
<ZWE_TXZLZ>75</ZWE_TXZLZ><ZWHYJG></ZWHYJG><ZWHYJGMC></ZWHYJGMC>
<DQYWHJ>领取发放</DQYWHJ><DQHJZT>待处理</DQHJZT></ROW>

<ROW index="2">
<ID>be1915a3df7948debec90663291e3191</ID>
<SLH>4403044312017042690005</SLH>
<RID>3622021991*****000021168294</RID>
<GMSFHM>36220219910*****</GMSFHM>
<CSRQ>19910824</CSRQ><XM>熊晓号</XM>
<XB>1</XB><XBMC>男</XBMC><MZ>01</MZ><MZMC>汉族</MZMC>
<ZZ>广东省******</ZZ>
<ZPLSH>QT007786604</ZPLSH><SSXQ>440304</SSXQ>
<SSXQMC>广东省*****</SSXQMC><PCS>440304540000</PCS>
<PCSMC>**派出所</PCSMC><JCW>440304003008</JCW>
<JCWMC>**社区工作站</JCWMC><XZJD>440304003</XZJD>
<XZJDMC>**街道办</XZJDMC><ZZLX>1</ZZLX>
<ZZLXMC>普通证件</ZZLXMC><LZFS>10</LZFS>
<LZFSMC>受理机关领取</LZFSMC><SLYY>11</SLYY>
<SLYYMC>证件丢失补领</SLYYMC>
<SQRGMSFHM>3622021991*****</SQRGMSFHM>
<SQRXM>熊晓豪</SQRXM>
<SQRLXDH>188190*****</SQRLXDH>
<CJSJ>20170426171105</CJSJ>
<CJDW>440304999991</CJDW>
<CJDWMC>**户政中心</CJDWMC>
<CJR>057034</CJR><CJRXM>01号申领机</CJRXM>
<QFSJ></QFSJ><QFR></QFR>
<QFDW></QFDW><QFDWMC></QFDWMC>
<QFRQ>20170426</QFRQ><QFJG>**市公安局**分局</QFJG>
<YXQQ>20170426</YXQQ><YXQZ>20270426</YXQZ><ZWCJJG>1</ZWCJJG>
<ZWCJJGMC>两枚指纹信息注册成功</ZWCJJGMC><ZWY_ZCJG>1</ZWY_ZCJG>
<ZWY_ZCJGMC>注册成功</ZWY_ZCJGMC><ZWY_ZW>11</ZWY_ZW>
<ZWY_ZWMC>右手拇指</ZWY_ZWMC><ZWY_TXZLZ>71</ZWY_TXZLZ><ZWE_ZCJG>1</ZWE_ZCJG>
<ZWE-ZCJGMC>注册成功</ZWE-ZCJGMC><ZWE_ZW>16</ZWE_ZW><ZWE_ZWMC>左手拇指</ZWE_ZWMC>
<ZWE_TXZLZ>60</ZWE_TXZLZ><ZWHYJG></ZWHYJG><ZWHYJGMC></ZWHYJGMC>
<DQYWHJ>审核</DQYWHJ><DQHJZT>已处理</DQHJZT>
</ROW>

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