XML字符串转换成XML Document对象,并生成在指定路径

以下:

/**
     * <XML字符串转换成XML Document >
     * <功能详细描述>
     * @param sXml
     * @return
     * @see [类、类#方法、类#成员]
     */
    public Document changeStringToXML(String sXml)
    {
        StringReader sr = new StringReader(sXml);
        InputSource is = new InputSource(sr);
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(is);
	return doc;
    }


将XML生成在指定路径:

/**
     * 生成文件
     * @param path
     * @param doc
     * @return  -1:生成xml出错    0:创建成功   1:所要上报的文件已生成
     */
    public int writeXML(String path, Document doc)
    {
        File markFile = new File(path);
        if (markFile.exists())
        {
            return 1;
        }
        FileOutputStream fos;
        try
        {
            fos = new FileOutputStream(path);
        }
        catch (FileNotFoundException e)
        {
            logger.debug("数据上报XML文件输出出错:系统找不到指定路径");
            return -1;
        }
        OutputStreamWriter outwriter;
        try
        {
            outwriter = new OutputStreamWriter(fos, "UTF-8");
            Source sorce = new DOMSource(doc);
            Result result = new StreamResult(outwriter);
            Transformer trans;
            try
            {
                trans = TransformerFactory.newInstance().newTransformer();
                trans.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                trans.transform(sorce, result);
                try
                {
                    fos.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
                return 0;
            }
            catch (TransformerConfigurationException e)
            {
                e.printStackTrace();
                return -1;
            }
            catch (TransformerFactoryConfigurationError e)
            {
                e.printStackTrace();
                return -1;
            }
            catch (TransformerException e)
            {
                e.printStackTrace();
                return -1;
            }
        }
        catch (UnsupportedEncodingException e1)
        {
            e1.printStackTrace();
            return -1;
        }
        
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值