XML解析文件

前端之家收集整理的这篇文章主要介绍了XML解析文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_2@package fax.util;

@H_301_2@import java.io.ByteArrayInputStream;
@H_301_2@import java.io.InputStream;

@H_301_2@import javax.xml.namespace.QName;
@H_301_2@import javax.xml.parsers.DocumentBuilder;
@H_301_2@import javax.xml.parsers.DocumentBuilderFactory;

@H_301_2@import org.apache.axis.client.Call;
@H_301_2@import org.apache.axis.client.Service;
@H_301_2@import org.w3c.dom.Document;
@H_301_2@import org.w3c.dom.NodeList;
@H_301_2@import org.apache.commons.lang.StringUtils;

@H_301_2@import net.coobird.thumbnailator.Thumbnails;
//XML解析文件
@H_301_2@public @H_301_2@class Test {
    @H_301_2@private String endPoint;

    @H_301_2@private String AspId; //AP提供商编号

    @H_301_2@private String TradeCode;

    String namespaceURI = "TradeService";

    Document document = @H_301_2@null;

    @H_301_2@public String errInfo = "";

    @H_301_2@public String succInfo = "";

    String paraSerial = "serial";//序号

    String paraRand = "rand";//随机

    String paraEncode = "encode";//hashcode

    /**** * 根据传进去的节点名,返回该节点的值 * @param nodeName * @return * @throws Exception */
    @H_301_2@public String getSingleNodeValue(String nodeName) @H_301_2@throws Exception {
        String ret = "";
        NodeList nodeList = document.getElementsByTagName(nodeName);
        @H_301_2@if (nodeList.item(0) == @H_301_2@null) {
// throw new Exception("Can't find node!" + nodeName);
            System.out.println("Can't find node!" + nodeName);
            @H_301_2@return "";
        }
        @H_301_2@if (nodeList.item(0).getFirstChild() != @H_301_2@null) {
            ret = nodeList.item(0).getFirstChild().getNodeValue().trim();
        }
        @H_301_2@return ret;
    }

    /**** * 把一个字符串转成XML类型 * @param content * @throws Exception */
    @H_301_2@public @H_301_2@void loadXml(String content) @H_301_2@throws Exception {
        InputStream is = @H_301_2@new ByteArrayInputStream(content.getBytes());
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        document = builder.parse(is);
    }

    /**** * 调用远程接口并获得返回的值 * @param endPoint * @param namespaceURI * @param localPart * @param args * @return */
    @H_301_2@public String getWebServiceResult(String endPoint,String namespaceURI,String localPart,Object[] args) {
        String ret = @H_301_2@null;

        @H_301_2@try {
            Service service = @H_301_2@new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(@H_301_2@new java.net.URL(endPoint));
            call.setOperationName(@H_301_2@new QName(namespaceURI,localPart));
            ret = (String) call.invoke(args);
        } @H_301_2@catch (Exception e) {

        }
        @H_301_2@return ret;
    }

    /**** * 对所有功能进行操作 * @param areaid * @param EpId * @param Account * @param Pwd * @return */

    @H_301_2@public String checkAccountPwd(String endPoint,String Name,String Account,String Pwd) {
        // endPoint="http://192.168.0.110:8080/ZZweb/ProductPurchaseImpl.jws";
        /*** * 第一个参数和第二个是连接地址,第三个是方法名,最后个是参数。 */
        String resultXml = @H_301_2@this.getWebServiceResult(endPoint,endPoint,Name,@H_301_2@new Object[] { "" });
        System.out.println(resultXml);
        @H_301_2@try {
            @H_301_2@this.loadXml(resultXml);
        } @H_301_2@catch (Exception e) {
            // this.printErrorMsg("数据传送出错!");
        }
        String retunstatus = "";
        String usertype = "";
        @H_301_2@try {
            retunstatus = @H_301_2@this.getSingleNodeValue(Pwd);
        } @H_301_2@catch (Exception e) {

            e.printStackTrace();
        }
        @H_301_2@return retunstatus;
    }

    /** * 获取节点内容 * @description * @param stringxml * @param key * @return */
    @H_301_2@public String check(String stringxml,String key) @H_301_2@throws Exception {
        @H_301_2@this.loadXml(stringxml);
        String retunstatus = "";
        retunstatus = @H_301_2@this.getSingleNodeValue(key);
        @H_301_2@return retunstatus;
    }
}

猜你在找的XML相关文章