加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:21:18 所属栏目:百科 来源:网络整理
导读:以下: /** * XML字符串转换成XML Document * 功能详细描述 * @param sXml * @return * @see [类、类#方法、类#成员] */ public Document changeStringToXML(String sXml) { StringReader sr = new StringReader(sXml); InputSource is = new InputSource(sr

以下:

/**
     * <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;
        }
        
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读