首页 > 开发 > Java > 正文

java 生成xml并转为字符串的方法

2024-07-14 08:41:40
字体:
来源:转载
供稿:网友

如下所示:

import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.DocumentBuilder;import javax.xml.transform.TransformerFactory;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult; import org.apache.commons.io.output.ByteArrayOutputStream; import org.w3c.dom.Document;import org.w3c.dom.Element; public class test {		private String createXml() {		String xmlString = ""; 		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();		try {			DocumentBuilder builder = factory.newDocumentBuilder();			Document document = builder.newDocument();			document.setXmlStandalone(true); 			Element itemInfo = document.createElement("ItemInfo");			document.appendChild(itemInfo); 			Element itemStatistics = document.createElement("ItemStatistics");			itemStatistics.setTextContent("商品统计");			itemInfo.appendChild(itemStatistics); 			Element items = document.createElement("Items");			itemInfo.appendChild(items);			// 此处可以循环添加			Element item = document.createElement("Item");			items.appendChild(item); 			Element itemName = document.createElement("ItemName");			itemName.setTextContent("iPhone");			item.appendChild(itemName); 			Element itemNum = document.createElement("ItemNum");			itemNum.setTextContent("3");			item.appendChild(itemNum); 			Element itemValue = document.createElement("ItemValue");			itemValue.setTextContent("1000000");			item.appendChild(itemValue); 			Element remark = document.createElement("Remark");			remark.setTextContent("配送");			itemInfo.appendChild(remark); 			TransformerFactory transFactory = TransformerFactory.newInstance();			Transformer transformer = transFactory.newTransformer();			transformer.setOutputProperty(OutputKeys.INDENT, "yes");			DOMSource domSource = new DOMSource(document); 			// xml transform String			ByteArrayOutputStream bos = new ByteArrayOutputStream();			transformer.transform(domSource, new StreamResult(bos));			xmlString = bos.toString();			System.out.println(xmlString);		} catch (Exception e) {			e.printStackTrace();		} 		return xmlString;	}}

结果:

<?xml version="1.0" encoding="UTF-8"?><ItemInfo><ItemStatistics>商品统计</ItemStatistics><Items><Item><ItemName>iPhone</ItemName><ItemNum>3</ItemNum><ItemValue>1000000</ItemValue></Item></Items><Remark>配送</Remark></ItemInfo>

去掉头文件

<?xml version="1.0" encoding="utf-8"?>

的办法暂时只能想到:

xmlString.substring(38)

以上这篇java 生成xml并转为字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表