Java --建立xml文檔

直接上代碼數組

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>
相關文章
相關標籤/搜索