直接上代碼數組
public static void createXML(String title, String keyword, String summary, String videoFormat, String videoUrl, String logoUrl) throws ParserConfigurationException, TransformerException, FileNotFoundException { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder(); Document document = builder.newDocument(); //構建xml節點 //CMSContentInfo Element root = document.createElement("CMSContentInfo"); //EntityData Element entityDataElement = document.createElement("EntityData"); //按照順序添加各個節點 document.appendChild(root); //添加EntityData root.appendChild(entityDataElement); //數組賦值 Map<String,Object> map1 = new HashMap(); map1.put("title","title"); map1.put("titleValue",title); map1.put("keyword","keyword"); map1.put("keywordValue",keyword); map1.put("summary","summary"); map1.put("summaryValue",summary); String itemCode = ""; String itemName = ""; String value = ""; //AttributeItem for (int i=0;i<3;i++){ if (i==0){ itemCode = (String) map1.get("title"); itemName = (String) map1.get("title"); value = (String) map1.get("titleValue"); }else if (i==1){ itemCode = (String) map1.get("keyword"); itemName = (String) map1.get("keyword"); value = (String) map1.get("keywordValue"); }else { itemCode = (String) map1.get("summary"); itemName = (String) map1.get("summary"); value = (String) map1.get("summaryValue"); } //建立節點 Element attributeItemElement = document.createElement("AttributeItem"); Element itemCodeElement = document.createElement("ItemCode"); Text itemCodeValue = document.createTextNode(itemCode); Element itemNameElement = document.createElement("ItemName"); Text itemNameValue = document.createTextNode(itemName); Element valueElement = document.createElement("Value"); Text valueValue = document.createTextNode(value); //賦值 entityDataElement.appendChild(attributeItemElement); attributeItemElement.appendChild(itemCodeElement); itemCodeElement.appendChild(itemCodeValue); attributeItemElement.appendChild(itemNameElement); itemNameElement.appendChild(itemNameValue); attributeItemElement.appendChild(valueElement); valueElement.appendChild(valueValue); } //ContentFile Element contentFileElement = document.createElement("ContentFile"); //FileItem Element fileItemElement = document.createElement("FileItem"); //FileTypeID Element fileTypeIdElement = document.createElement("FileTypeID"); Text fileTypeIdValue = document.createTextNode(videoFormat); //FileURL Element fileURLElement = document.createElement("FileURL"); Text fileURLValue = document.createTextNode(videoUrl); //添加ContentFile root.appendChild(contentFileElement); //添加FileItem contentFileElement.appendChild(fileItemElement); //添加FileTypeID fileItemElement.appendChild(fileTypeIdElement); //賦值 fileTypeIdElement.appendChild(fileTypeIdValue); //添加FileURL fileItemElement.appendChild(fileURLElement); //賦值 fileURLElement.appendChild(fileURLValue); //KeyFrame Element keyFrameElement = document.createElement("KeyFrame"); Element keyFrameItemElement = document.createElement("KeyFrameItem"); Element keyFramePathElement = document.createElement("KeyFramePath"); Text keyFramePathValue = document.createTextNode(logoUrl); //添加KeyFrame root.appendChild(keyFrameElement); keyFrameElement.appendChild(keyFrameItemElement); keyFrameItemElement.appendChild(keyFramePathElement); //賦值 keyFramePathElement.appendChild(keyFramePathValue); //轉換 Transformer transformer = TransformerFactory.newInstance().newTransformer(); //設置換行和縮進 transformer.setOutputProperty(OutputKeys.INDENT,"yes"); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); Source source = new DOMSource(document); Result result = new StreamResult(new FileOutputStream(new File("e:/test.xml"))); transformer.transform(source,result); } public static void main(String[] args) throws Exception { createXML("標題","關鍵字","描述","視頻格式","視頻地址","logo地址"); }
測試結果以下app
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <CMSContentInfo> <EntityData> <AttributeItem> <ItemCode>title</ItemCode> <ItemName>title</ItemName> <Value>標題</Value> </AttributeItem> <AttributeItem> <ItemCode>keyword</ItemCode> <ItemName>keyword</ItemName> <Value>關鍵字</Value> </AttributeItem> <AttributeItem> <ItemCode>summary</ItemCode> <ItemName>summary</ItemName> <Value>描述</Value> </AttributeItem> </EntityData> <ContentFile> <FileItem> <FileTypeID>視頻格式</FileTypeID> <FileURL>視頻地址</FileURL> </FileItem> </ContentFile> <KeyFrame> <KeyFrameItem> <KeyFramePath>logo地址</KeyFramePath> </KeyFrameItem> </KeyFrame> </CMSContentInfo>