创建XML文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Stephen_mu/article/details/87071508


public class XmlCreatorHelper {

    private static Logger LOG = LoggerFactory.getLogger(XmlCreatorHelper.class);

    private static List<Map<String, String>> list = null;
    private static Map<String, String> map = null;

    // 生成xml文档的位置
    private final static String filepath = "D:\\temp.xml";

    static {
        // 初始化应有的数据
        list = new ArrayList<Map<String, String>>();
        map = new HashMap<String, String>();
        map.put("id", "01");
        map.put("name", "jack");
        map.put("age", "18");
        list.add(map);

        map = new HashMap<String, String>();
        map.put("id", "02");
        map.put("name", "stephen");
        map.put("age", "19");
        list.add(map);
    }

    public static String createXMLString() {
        // 创建document文档对象
        Document document = DocumentHelper.createDocument();
        // 创建并设置根节点
        Element root = document.addElement("Results");
        // 在根节点下面创建子节点
        Element rootSon = root.addElement("Persons");
        // 为子节点设置元素内容
        for (Map<String, String> map : list) {
            Element rootSonSon = rootSon.addElement("Persion");
            rootSonSon.addAttribute("id", map.get("id"));
            rootSonSon.addElement("name").addText(map.get("name"));
            rootSonSon.addElement("age").addText(map.get("age"));
        }

        return document.asXML();
    }

    public static void createXMLFile() {

        // 创建document文档对象
        Document doc = DocumentHelper.createDocument();
        // 创建并设置根节点
        Element root = doc.addElement("Results");
        // 在根节点下面创建子节点
        Element rootSon = root.addElement("Persons");
        // 为子节点设置元素内容
        for (Map<String, String> map : list) {
            Element rootSonSon = rootSon.addElement("Person");
            rootSonSon.addAttribute("id", map.get("id"));
            rootSonSon.addElement("name").addText(map.get("name"));
            rootSonSon.addElement("age").addText(map.get("age"));
        }

        try {
            // 将文档对象的内容写入文件
            // 首先设置编码格式
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("UTF-8");
            XMLWriter writer = new XMLWriter(new FileOutputStream(new File(filepath)));
            writer.write(doc);
            writer.flush();
            writer.close();
        } catch (UnsupportedEncodingException e) {
            LOG.error("UnsupportedEncodingException", e);
        } catch (FileNotFoundException e) {
            LOG.error("FileNotFoundException", e);
        } catch (IOException e) {
            LOG.error("IOException", e);
        }

    }

猜你喜欢

转载自blog.csdn.net/Stephen_mu/article/details/87071508