实现webservice接口学习心得

一、作为一个骨灰级菜鸟才入社会,因公司要求写了一个接口
基本业务流程描述:ITSM的需求上线版本变更后,将变更后的上线时间,通过接口告知OA,OA根据此时间更新评估工作量列表展示的上线时间,以及需求实施的计划完成时间
itsm那边是通过xml的形式传过来的上线时间,所以这边首先就是要解析xml 此处附上我代码中的xml
这里写图片描述

现在开始解析

//使用SAXReader需要导入dom4j-full.jar包。 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的
SAXReader reader=new SAXReader();
    //这是从一个xml中逐个读入字节
    StringReader sr=new StringReader(xml);
    Document doc=null;
    try {
        doc=reader.read(sr);
        demandid=getNodeText(doc, "demandid");
        System.out.println(demandid);
        List list=getNodeList(doc, "sub-demands", "sub-demand");
        if(list.size()>0){
            for(Iterator iterator = list.iterator(); iterator
            .hasNext();){
                Element element = (Element) iterator.next();
                demandsubid=isEmpty(element.elementText("demandsubid"));
                systemid=isEmpty(element.elementText("systemid"));
                factoryid=isEmpty(element.elementText("factoryid"));
                onlineverno=isEmpty(element.elementText("onlineverno"));
                onlinetime=isEmpty(element.elementText("onlinetime"));
                String sql="update demand_workload set onlinetime='"+onlinetime+"' where demandid='"+demandid+"' and demandsubid='"+demandsubid+"' and systemid='"+systemid+"' and factoryid='"+factoryid+"' and onlineverno='"+onlineverno+"'";
                update(sql);
            }

        }
    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
        return null;

    }

获取节点值

//SelectSingleNode方法返回单个节点
public static String getNodeText(Document doc, String nodeName) {
    Node node = doc.selectSingleNode("//" + nodeName);
    return (node == null || node.getText() == null) ? "" : node.getText();
}

获取某节点下的所有子节点列表

public static List getNodeList(Document doc, String paraElement,
    String subElement) throws Exception {
    List list = new ArrayList();
    Element root = doc.getRootElement();
    Element parElement = root.element(paraElement);
    if (parElement == null) {
        throw new Exception(
                "方法:getNodeList(),传入参数paraElement节点名称在xml文档格式中不存在");
    }
    list = parElement.elements(subElement);
    return list;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值