import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.Text;
/**
* 导出OA数据到RTX
* @author 董新兵
*
*/
public class ExportOADataToRTX {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
writeXMLFile("f:/text.xml");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("出错啦!");
}
}
public static void GenerateXML() {
}
public static void GetDataFromOA() {
}
/**
* 写XML
* @param outFile 输出文件路径
* @throws Exception 异常
*/
public static void writeXMLFile(String outFile) throws Exception {
// 为解析XML作准备,创建DocumentBuilderFactory实例,指定DocumentBuilder
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce);
}
Document doc = null;
doc = db.newDocument();
// 下面是建立XML文档内容的过程,先建立根元素"enterprise"
Element root = doc.createElement("enterprise");
// 根元素添加上文档
doc.appendChild(root);
Element depElement=doc.createElement("departments");
root.appendChild(depElement);
//////////测试数据////////////////////
//添加部门
Departments dept=new Departments();
dept.setName("生成XML测试");
dept.setDescribe("部门描述");
Element deptMent=CreateDeptXMLElement(dept,doc);
//添加用户
Users user=new Users();
user.setUid("朱继伟");
user.setName("朱继伟");
Element userMent=CreateUserXMLElement(user,doc);
deptMent.appendChild(userMent);
depElement.appendChild(deptMent);
System.out.println(toFormatedXML(doc));
///////////////////////////////////////////
// 取学生信息的Bean列表
// for(int i=0;i<student_Vector.size();i++){
// //依次取每个学生的信息
// StudentBean studentBean=(StudentBean)student_Vector.get(i);
// //建立"学生"元素,添加到根元素
// Element student=doc.createElement("学生");
// student.setAttribute("性别",studentBean.getSex());
// root.appendChild(student);
// //建立"姓名"元素,添加到学生下面,下同
// Element name=doc.createElement("姓名");
// student.appendChild(name);
// Text tName=doc.createTextNode(studentBean.getName());
// name.appendChild(tName);
//
// Element age=doc.createElement("年龄");
// student.appendChild(age);
// Text tAge=doc.createTextNode(String.valueOf(studentBean.getAge()));
// age.appendChild(tAge);
//
// Element phone=doc.createElement("电话");
// student.appendChild(phone);
// Text tPhone=doc.createTextNode(studentBean.getPhone());
// phone.appendChild(tPhone);
// }
// 把XML文档输出到指定的文件
FileOutputStream outStream = new FileOutputStream(outFile);
OutputStreamWriter outWriter = new OutputStreamWriter(outStream);
callWriteXmlFile(doc, outWriter, "GB2312");
outWriter.close();
outStream.close();
}
/**
* 创建一个User节点
* @param user 用户对象
* @param doc Document对象
* @return XML节点
*/
private static Element CreateUserXMLElement(Users user,Document doc){
/*创建一个user节点*/
Element userMent=doc.createElement("user");
/*为user节点添加属性*/
userMent.setAttribute("uid",user.getUid());//RTX帳號
userMent.setAttribute("name", user.getName());//姓名
userMent.setAttribute("email", user.getEmail());//电子邮件
userMent.setAttribute("mobile", user.getMobile());//手机
userMent.setAttribute("rtxno", user.getRtxno());//rtx号码
userMent.setAttribute("phone", user.getPhone());//办公电话
userMent.setAttribute("position", user.getPosition());//职务
userMent.setAttribute("fax", user.getFax());//传真
userMent.setAttribute("homepage", user.getHomepage());//个人主页
userMent.setAttribute("address", user.getAddress());//联系地址
userMent.setAttribute("postcode", user.getPostcode());//邮编
userMent.setAttribute("country",user.getCountry());//国家
userMent.setAttribute("province", user.getProvince());//省份
userMent.setAttribute("city", user.getCity());//城市
userMent.setAttribute("college", user.getCollege());//毕业院校
userMent.setAttribute("age", user.getAge());//年龄
userMent.setAttribute("gender", user.getGender());//性别
userMent.setAttribute("birthday", user.getBirthday());//出生日期
userMent.setAttribute("bloodtype", user.getBloodtype());//血型
userMent.setAttribute("memo", user.getMemo());//个人说明
userMent.setAttribute("type", user.getType());//用户认证类型
userMent.setAttribute("authtype", user.getAuthtype());//权值
/*返回user节点*/
return userMent;
}
/**
* 创建department节点
* @param dept 部门对象
* @param doc Document对象
* @return XML节点
*/
private static Element CreateDeptXMLElement(Departments dept,Document doc){
/*创建一个department节点*/
Element deptMent=doc.createElement("department");
/*为department设置属性*/
deptMent.setAttribute("name", dept.getName());//部门名称
deptMent.setAttribute("describe",dept.getDescribe());//部门描述
/*返回department节点*/
return deptMent;
}
/**
* 写入XML
* @param doc 文档对象
* @param w 输出流
* @param encoding 字符编码 默认为 GB2312
*/
public static void callWriteXmlFile(Document doc, Writer w, String encoding) {
try {
// Prepare the DOM document for writing
Source source = new DOMSource(doc);
// Prepare the output file
Result result = new StreamResult(w);
// Write the DOM document to the file
Transformer xformer = TransformerFactory.newInstance()
.newTransformer();
xformer.setOutputProperty(OutputKeys.ENCODING, encoding);
xformer.transform(source, result);
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
/**
* 把Document对象转化为字符串
* @param object
* @return
* @throws Exception
*/
public static String toFormatedXML(Document object) throws Exception {
/*转化object对象*/
Document doc = (Document) object;
/*创建TransformerFactory实例*/
TransformerFactory transFactory = TransformerFactory.newInstance();
/*
* 创建一个转化器实例
* Transformer是把DOM文档转化为XML的转唤器
* */
Transformer transFormer = transFactory.newTransformer();
/*设置输出属性*/
transFormer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
/*读取DOM文件*/
DOMSource domSource = new DOMSource(doc);
StringWriter sw = new StringWriter();
StreamResult xmlResult = new StreamResult(sw);
/*转换DOM文档*/
transFormer.transform(domSource, xmlResult);
return sw.toString();
}
}
RTX组织机构同步源码
5星 · 超过95%的资源 需积分: 35 35 浏览量
2012-01-06
14:50:35
上传
评论
收藏 4KB RAR 举报
搏天鹰
- 粉丝: 9
- 资源: 19
最新资源
- PHP端通过modbus协议跟第三方设备进行数据通信
- navicat安装包亲测可用
- 算法部署-使用OpenVINO部署MobileStyleGAN轻量化高保真图像合成算法-项目源码-优质项目实战.zip
- 基于java实现远程采集华为逆变器使用modbus tcp协议进行通讯的设备数据
- Unity画面共享Spout插件
- 基于C++用modbus实现的工业设备的数据采集程序,支持Tcp、串口
- 完结12章AI Agent智能应用从0到1定制开发
- 15白落梅:你是锦瑟我为流年:三毛的万水千山-3491776.mobi
- Federated Learning-Aided Prognostics in the Shipping 4.0: Princi
- OFDM 的鲁棒频率和定时同步文献部分阅读笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
前往页