如下所示:
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; } }
结果:
<&#63;xml version="1.0" encoding="UTF-8"&#63;>商品统计 iPhone 3 1000000 配送
去掉头文件
<&#63;xml version="1.0" encoding="utf-8"&#63;>
的办法暂时只能想到:
xmlString.substring(38)
以上这篇java 生成xml并转为字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。