package com.nantian.nc; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.StringWriter; import java.net.URL; import java.net.URLConnection; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; public class NCTest2 { public static void main(String[] args) { String urlStr = "http://192.168.0.68:80/service/XChangeServlet?account=0002&receiver=123"; XmlBuilder builder = new XmlBuilder("F:/test1.xml"); String xmlString=doc2string(builder.getDoc()); System.out.println(xmlString); sendPingzheng(urlStr, xmlString); } public static Document sendPingzheng(String urlStr, String xmlString) { byte[] xmlData = xmlString.getBytes("utf-8"); DataInputStream input = null; java.io.ByteArrayOutputStream out = null; Document d = null; try { URL url = new URL(urlStr); URLConnection urlCon = url.openConnection(); urlCon.setDoOutput(true); urlCon.setDoInput(true); urlCon.setUseCaches(false); urlCon.setRequestProperty("Content-Type", "text/xml"); urlCon.setRequestProperty("Content-length", String.valueOf(xmlData.length)); DataOutputStream printout = new DataOutputStream(urlCon.getOutputStream()); printout.write(xmlData); printout.flush(); printout.close(); input = new DataInputStream(urlCon.getInputStream()); byte[] rResult; out = new java.io.ByteArrayOutputStream(); byte[] bufferByte = new byte[256]; int l = -1; int downloadSize = 0; while ((l = input.read(bufferByte)) > -1) { downloadSize += l; out.write(bufferByte, 0, l); out.flush(); } rResult = out.toByteArray(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); d = db.parse(new ByteArrayInputStream(rResult)); String TaskAddr = d.getElementsByTagName("resultdescription").item(0).getFirstChild().getNodeValue(); String resultcode = d.getElementsByTagName("resultcode").item(0).getFirstChild().getNodeValue(); System.out.println("resultdescription:" + TaskAddr); System.out.println("resultcode"+resultcode); System.out.println(doc2string(d)); } catch (Exception e) { e.printStackTrace(); } finally { try { out.close(); input.close(); } catch (Exception ex) { ex.printStackTrace(); } } return d; } // document转换为string public static String doc2string(Document doc) { StringWriter sw = null; try { sw = new StringWriter(); Transformer serializer = TransformerFactory.newInstance().newTransformer(); serializer.transform(new DOMSource(doc), new StreamResult(sw)); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerFactoryConfigurationError e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } return sw.toString(); } }
xml文件操作类
package com.nantian.nc; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; public class XmlBuilder { private String path = null; private Document doc = null; private Element root = null; private Logger logger = Logger.getLogger(getClass().getName()); public XmlBuilder(String path) { this.path = path; init(); } public void init() { buildDocument(); buildRoot(); } private void buildDocument() { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); logger.debug("Construct document builder success."); doc = builder.parse(new File(path)); logger.debug("Build xml document success."); } catch (ParserConfigurationException e) { logger.error("Construct document builder error:" + e); } catch (SAXException e) { logger.error("Parse xml file error:" + e); } catch (IOException e) { logger.error("Read xml file error:" + e); } } private void buildRoot() { root = doc.getDocumentElement(); } public Document getDoc() { return doc; } public void setDoc(Document doc) { this.doc = doc; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public Element getRoot() { return root; } public void setRoot(Element root) { this.root = root; } }
相关推荐
用友NC财务软件数据导出方法 用友NC财务软件是一款功能强大且广泛应用于企业财务管理的财务软件。随着企业数据的增加和复杂性,数据导出变得越来越重要。因此,本文将详细介绍用友NC财务软件数据导出方法,旨在帮助...
### 用友NC接口解决方案知识点概述 #### 一、接口总体介绍 - **接口概念**:接口是指不同软件系统间为了实现数据交换而定义的一种通信规范。本案例中的接口是为了解决用友NC系统与西安热工院设备监理系统之间的...
首先,"用友和金蝶的财务凭证接口"指的是这两款财务软件提供的编程接口,允许外部应用程序(如VB或PB)访问其内部功能,特别是涉及财务凭证的操作。凭证是财务系统的核心,记录了企业的经济业务,如收入、支出等。...
单据类型:gl (gl代表总账凭证,NC接口的默认值,请勿修改) 凭证类别:记账凭证 (部分账套写着:记帐凭证,请登录NC系统确认) 外部凭证导入到:12200404 (这个代码是NC账套的代码,登录时可见) 接收单位编码:...
此方案是解决用友NC与其他业务系统对接的资料,提供了现金的思想,并且实现了不同系统的数据共享和无缝连接。
"用友NC财务总帐系统操作流程" 用友NC财务总帐系统操作流程是指企业财务管理中的一系列操作流程,旨在规范企业财务管理,确保财务数据的准确性和一致性。该系统操作流程涵盖了财务总帐的初始化、业务流程、凭证操作...
首先,我们要明确的是,用友NC 57凭证XML文件是一种数据交换格式,用于在不同系统间传输和导入财务凭证数据。XML(eXtensible Markup Language)是一种结构化语言,具有良好的可读性和可扩展性,非常适合用于数据...
用友NC凭证导入XML中文说明 <voucher_head>
【用友NC软件套打凭证账簿设置流程详解】 用友NC是一款专业的财务管理软件,广泛应用于企业财务工作中。然而,很多用户在使用NC3.0、NC3.1、NC3.5、NC5.0版本时,对于如何打印记账凭证和账簿感到困惑。以下是一个...
《NC凭证接口解决方案和思路》 本方案针对的是NC(用友...综上所述,NC凭证接口解决方案通过深度集成,实现了业务系统与财务系统的高效协同,提升了企业的信息化水平,降低了运营成本,是现代企业财务管理的重要工具。
用友NC凭证设置是企业财务管理中非常重要的一部分,它提供了多种模板样式和编辑功能,帮助用户快速创建和编辑凭证模板。在这个指南中,我们将详细介绍如何进入模板设置界面,如何使用模板编辑器,并对模板进行设置和...
用友NC5总账模块提供了凭证管理功能,允许用户管理和维护财务凭证。 1.2.4 财务折算 用友NC5总账模块提供了财务折算功能,允许用户进行财务折算和分析。 1.2.5 往来核销 用友NC5总账模块提供了往来核销功能,...
总的来说,明源与用友NC的财务软件对接,通过自动化的数据传输和凭证生成,优化了财务流程,提升了财务管理的效率和准确性,减少了潜在的人为错误,同时也保障了数据的安全性。这种对接方式对于房地产企业来说,是一...
用友NC财务共享服务中心解决方案.pdf
标题中的“凭证录入工具new_UFIDAvouchertool_用友_用友凭证_凭证_”表明这是一个专用于财务凭证录入的软件工具,其中“UFIDAvouchertool”可能是该工具的核心组件或者特定命名规则,而“用友”则暗示这与用友软件...
4. 接口设置:在业务参数设置中添加NC服务器的发送地址,设定对应公司,然后在财务接口中自定义摘要和凭证生成规则,例如诚意金、保证金、房款等不同类型的收支情况,都有相应的借贷摘要规则。 以销售系统与NC的...
《用友NC开发API字典》是一份专为开发者准备的重要参考资料,主要涵盖了在使用用友NC(U8+)系统进行二次开发时所涉及的各种应用程序接口(API)。API是软件之间的桥梁,允许不同的系统之间交换数据和执行操作,极大...
用友NC65-uapstudio webservice开发配置说明文档 用友NC65-erp开发工具uapstudio进行开发webservice时,需要对开发工具进行必要的设置。以下是uapstudio中的webservice开发配置说明: 一、UAPStudio中的webservice...
用友NC6.5是一款集成了财务管理、供应链管理、人力资源管理、客户关系管理等多个业务领域的综合企业管理软件。它为企业提供了一个全方位、多层次、多角度的企业管理信息化解决方案,帮助企业管理者实时掌握企业运营...
《用友NC3.1财务操作手册》是针对企业财务管理的一款详尽指南,它涵盖了用友NC3.1系统在财务领域的各项功能和操作流程。用友NC系列软件是中国本土领先的ERP解决方案,NC3.1版本是其在财务管理方面的重要升级,旨在...