本文目录一览:
- java中,怎么将一组数据写入xml文件中?
- JAVA中将数据导出成XML文件(急急急急)
- java 怎么将数据动态的写入xml
- 如何在Java中将Excel转化为XML格式文件
- java中怎么把list的信息写入到xml
- 在Java中,从数据库读取并写成XML文件,这个如何用代码实现。。。
java中,怎么将一组数据写入xml文件中?
有很多种方法,用DOM或SAX, 还有JAXB等。下面给个DOM写的例子: java使用DOM创建如下xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root>
<name id="2">zs</name>
</root>
代码如下:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
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.Text;
public class CreateXML {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("root");
Element name = doc.createElement("name");
Text nameText = doc.createTextNode("zs");
name.appendChild(nameText);
root.appendChild(name);
doc.appendChild(root);
name.setAttribute("id", "2");
doc2XmlFile(doc, "test.xml");
}
public static boolean doc2XmlFile(Document document, String filename) {
boolean flag = true;
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}
}
JAVA中将数据导出成XML文件(急急急急)
/**
* desciption: java create xml file
* author: maomao
* datetime: 2007/04/04 23:42
*/
package com.xh.xml;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;
public class Java2XML {
public void BuildXMLDoc() throws IOException, JDOMException {
Element root = new Element("list");
Document Doc = new Document(root);
for (int i = 0; i < 5; i++) {
Element elements = new Element("user");
elements.setAttribute("id", "" + i);
elements.addContent(new Element("name").setText("xuehui"));
elements.addContent(new Element("age").setText("28"));
elements.addContent(new Element("sex").setText("Male"));
root.addContent(elements);
}
XMLOutputter XMLOut = new XMLOutputter();
XMLOut.output(Doc, new FileOutputStream("user.xml"));
}
public static void main(String[] args) {
try {
Java2XML j2x = new Java2XML();
System.out.println("生成 xml 文件...");
j2x.BuildXMLDoc();
} catch (Exception e) {
e.printStackTrace();
}
}
}
生成结果:
<?xml version="1.0" encoding="UTF-8"?>
<list>
<user id="0">
<name>xuehui</name>
<age>28</age>
<sex>Male</sex>
</user>
<user id="1">
<name>xuehui</name>
<age>28</age>
<sex>Male</sex>
</user>
<user id="2">
<name>xuehui</name>
<age>28</age>
<sex>Male</sex>
</user>
<user id="3">
<name>xuehui</name>
<age>28</age>
<sex>Male</sex>
</user>
<user id="4">
<name>xuehui</name>
<age>28</age>
<sex>Male</sex>
</user>
</list>
你可以参考一下链接,然后拷贝代码,这里我直接拷贝带上行号。
java 怎么将数据动态的写入xml
只是数据动态写入xml,如果是不求Schema,只要保存为XML即可,那不用写了,JDK中有,这样做:
XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(
new FileOutputStream(filename)));
encoder.writeObject(list);
encoder.close();
如何在Java中将Excel转化为XML格式文件
实现思路:
直接从Excel文件转换成XML文件是可以实现的,这里我采用一个中间转换,也就是先实现excel文件内容放入设计好的access数据库文件中,然后再从access中读取记录写到xml文件中,因为我这里的实际问题是把多个excel表,每个表中又有多个sheet工作簿,这样我先导入数据库中,也方便修改和处理。 这样,需要写两个类:
XlsToAccess
类,用来实现从excel文件根据事先约定的格式,按照数据库设计字段存放进去AccessToXml
类,用来实现从access文件数据库中的记录按约定格式写到xml文件中去 然后还需要一个主运行窗口类XlsToXml
,这个类我们使用eclipse插件SWT Designer来完成 最后把工程打成JAR包,再用NativeJ将Jar包生成为可执行的exe文件
java中怎么把list的信息写入到xml
package com.imct.util;
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* title 使用XML文件存取可序列化的对象的类
* description 提供保存和读取的方法
* @author 殷晋
* copyright 清华大学汽车工程开发研究院@2005
* @version 1.0
* 2005-8-5 16:44:49
*/
public class ObjectToXMLUtil {
/**
* 把java的可序列化的对象(实现Serializable接口)序列化保存到XML文件里面,如果想一次保存多个可序列化对象请用集合进行封装
* 保存时将会用现在的对象替换原来的XML文件内容
* @param obj 要序列化的可序列化的对象
* @param fileName 带完全的保存路径的文件名
* @throws FileNotFoundException 指定位置的文件不存在
* @throws IOException 输出时发生异常
* @throws Exception 其他运行时异常
*/
public static void objectXmlEncoder(Object obj, String fileName)
throws FileNotFoundException, IOException, Exception {
File fo = new File(fileName);
if (!fo.exists()) {
String path = fileName.substring(0, fileName.lastIndexOf('.'));
File pFile = new File(path);
pFile.mkdirs();
}
FileOutputStream fos = new FileOutputStream(fo);
XMLEncoder encoder = new XMLEncoder(fos);
encoder.writeObject(obj);
encoder.flush();
encoder.close();
fos.close();
}
/**
* 读取由objSource指定的XML文件中的序列化保存的对象,返回的结果经过了List封装
* @param objSource 带全部文件路径的文件全名
* @return 由XML文件里面保存的对象构成的List列表(可能是一个或者多个的序列化保存的对象)
* @throws FileNotFoundException 指定的对象读取资源不存在
* @throws IOException 读取发生错误
* @throws Exception 其他运行时异常发生
*/
public static List objectXmlDecoder(String objSource)
throws FileNotFoundException, IOException, Exception {
List objList = new ArrayList();
File fin = new File(objSource);
FileInputStream fis = new FileInputStream(fin);
XMLDecoder decoder = new XMLDecoder(fis);
Object obj = null;
try {
while ((obj = decoder.readObject()) != null) {
objList.add(obj);
}
} catch (Exception e) {
// TODO Auto-generated catch block
}
fis.close();
decoder.close();
return objList;
}
}
在Java中,从数据库读取并写成XML文件,这个如何用代码实现。。。
思路很简单,开发一个小型的WEB应用,部署在长沙和北京两台服务器上,安装Tomcat就可以运行和部署了。这个WEB应用主要做如下事情:
- 接受请求,封装JSON串(为什么用JSON可以查一下网上大把的)
- 收到HTTP请求后,校验是否是来自另外一个服务器的请求(通过判断请求的IP地址是否为另外一个服务器的IP地址即可)
- 校验通过后读取本地服务器数据库,查询需要实时同步的数据表,查出需要同步的数据,组装成数据对象集(例如一个ArrayList),然后转换为JSON格式串,写入到response输出流中。
- 发请求获取返回结果,插入/更新数据库
- 从response输出流中读取返回结果,将JSON串转化为对象集(网上大把的),然后开始更新/插入数据/删除数据 由于涉及三种操作类型:更新、删除、插入,所以可以分别实现三个servlet来分别负责:
- 查询新增数据/插入新增对象
- 查询更新数据/更新新增对象
- 查询删除数据/删除待删除的对象
定时调度同步程序
使用Timer写个jar程序,循环每5分钟利用HttpURLConnection请求执行插入/更新/删除的Servlet。