java 生成xml格式的文件

在开发中,我们需要记录一些信息,比如我在写android应用时 ,喜欢将手机设备信息以xml格式包装,然后邮件形式发送到我的邮箱里。这样有利于调试crash信息

下面介绍怎么用java生成xml格式的文件

首先你需要jdom.jar和dom4j.jar这两个包

/**
	 * 将crash信息打包成xml格式
	 * @param hashMap 原始crash信息的hashmap形式
	 * @throws IOException
	 * @throws JDOMException
	 */
	public void BuildXMLDoc(HashMap<String, String> hashMap) throws IOException, JDOMException {
		int size = hashMap.size();
		Iterator iter = hashMap.entrySet().iterator();
		Map.Entry entry;
		String key;
		String val;
		int id = 1;
		// 创建根节点 list;
		Element root = new Element("phoneInfo");
		// 根节点添加到文档中;
		Document Doc = new Document(root);
		// 此处 迭代器的遍历 可替换成循环遍历 数据库表的结果集操作;
		while (iter.hasNext()) {
			entry = (Map.Entry)iter.next();
			key = (String)entry.getKey();
			val = hashMap.get(key);
			if (val == null || val.length() == 0)
			{
				val = "null";
			}
			// 创建节点 user;
			Element elements = new Element("category");
			// 给 user 节点添加属性 id;
			elements.setAttribute("id", "" + id);
			id ++;
			// 给 user 节点添加子节点并赋值;
			// new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui
			// 替换成表中记录值;
			elements.addContent(new Element(key).setText(val));
			// 给父节点list添加user子节点;
			root.addContent(elements);
		}
		//带有缩进格式的xml 更美观
		Format format = Format.getPrettyFormat();
		XMLOutputter XMLOut = new XMLOutputter(format);
		XMLOut.output(Doc, new FileOutputStream(FileUtil.CRASHPATH));
		System.out.println("完成了文件写入");
	}

 

上面虽然是对hashmap的遍历,但是对于其他容器的遍历形式不变,只是换成你需要的信息即可

下面是其他文章找到的

生成XML的时候,处理特殊字符

element.addContent(new CDATA("<xml> content"));

生成XML的时候,设置编码

XMLOutputter XMLOut = new XMLOutputter();
XMLOut.setEncoding("gb2312");
XMLOut.output(Doc, new FileOutputStream("test1.xml"));





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值