用Java写入XML
来源:互联网 发布:小米ai音箱和网络音响 编辑:程序博客网 时间:2024/06/06 03:37
当我们需要将信息写入XML保存起来(即写入对应的标签里),以便后续使用时,写了一个方便使用的类。
1. 假设我们的要保存的XML格式如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><users> <user> <id>0001</id> <name>心晴儿</name> <gender>f</gender> <imgurl>http://XXXXXXX</imgurl> </user></users>
2. 写入XML的类:
package weibo.spider;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.OutputKeys;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.dom4j.io.XMLWriter;import org.w3c.dom.Document;import org.w3c.dom.Element;import weibo.dao.RelationDAO;import weibo.dao.UserDAO;import weibo.pojo.RelationPOJO;import weibo.pojo.UserPOJO;public class DataExport {private String fileName;private Document document;public DataExport(String fileName){this.fileName = fileName;createXmlDocument();}private void createXmlDocument(){try{DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();document = builder.newDocument();}catch(ParserConfigurationException e){e.printStackTrace();}}/** * 创建根节点 * @param name 根节点名称 * @return */public Element createRootElement(String name) {Element root = document.createElement(name);document.appendChild(root);return root;}/** * 创建子节点 * @param parent 父节点 * @param tagName 节点名称 * @param text 节点内容 * @return */public Element createElement(Element parent, String tagName, String text) {Element element = document.createElement(tagName);if (text != null && text.length() > 0) {element.setTextContent(text);}parent.appendChild(element);return element;}/** * 保存文件 * @throws Exception */public void toSave() throws Exception {TransformerFactory factory = TransformerFactory.newInstance();factory.setAttribute("indent-number", new Integer(4));// 设置缩进长度为4Transformer transformer = factory.newTransformer();transformer.setOutputProperty(OutputKeys.INDENT, "yes");// 设置自动换行DOMSource source = new DOMSource(document);transformer.transform(source, new StreamResult(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName),"UTF-8"))));}public void exportRelations(){RelationDAO dao = new RelationDAO();ArrayList<RelationPOJO> list = (ArrayList<RelationPOJO>) dao.findAll();System.out.println(list.size());File file = new File(fileName);try {BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8"));for(RelationPOJO r : list)writer.write(r.getUid() +" "+r.getFriendid()+"\n");writer.close();} catch (IOException e) {e.printStackTrace();}}public void exportUsers(){UserDAO dao = new UserDAO();Element root = createRootElement("users");ArrayList<UserPOJO> list = (ArrayList<UserPOJO>) dao.findAll();System.out.println(list.size());int count = 0;for(UserPOJO u : list){Element ele = createElement(root,"user","");createElement(ele,"id",u.getId().toString());createElement(ele,"name",u.getUsername());createElement(ele,"gender",u.getGender());createElement(ele,"imgurl",u.getImageurl());if(count++ > 100)break;}try {toSave();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {DataExport export = new DataExport("F://users.txt");export.exportUsers();//export.exportRelations();}}
- 用Java写入XML
- XML用Java写入
- java写入/读取xml
- java写入XML
- Java 写入xml
- Java写入xml (1)
- JAVA写入XML文件
- java写入xml
- Java的XML写入
- Java中的XML文件写入
- java读取xml和xml写入数据
- java读取xml和xml写入数据
- java 利用DOM写入XML文档
- Java 流式Xml读取 写入 StAX
- Java眼中的XML--文件写入
- Java眼中的XML ---文件写入
- JAVA中的XML文件--文件写入
- JAVA学习笔记之(写入xml)
- apt-get 更新本地化祥细步骤
- Python-字符串操作方法(Python-String-Function)
- 小议游戏控制台
- C/C++:函数的编译方式与调用约定以及extern “C”的使用
- 浏览器上的音频即时通讯应用开发建议
- 用Java写入XML
- 3.1 命名空间的using声明
- 怎么添加自己的库文件路径及头文件路径
- 动态Proxy与Java ACL用户访问控制机制实现
- WinEdt Latex \cite自动补全
- 在ashx文件中制作验证码
- ff 和ie对css的兼容性问题
- python正则表达式
- C/C++函数调用约定与函数名称修饰规则探讨