久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java怎么生成一個xml報文

172次閱讀
沒有評論

共計 2648 個字符,預計需要花費 7 分鐘才能閱讀完成。

要生成一個 XML 報文,您可以使用 Java 中的 DOM(文檔對象模型)或者 JAXB(Java Architecture for XML Binding)來處理。

使用 DOM 生成 XML 報文的步驟如下:

  1. 創建一個 DocumentBuilder 對象,用于構建文檔對象。
  2. 使用 DocumentBuilder 對象的 newDocument 方法創建一個 Document 對象。
  3. 創建 XML 元素和屬性,可以使用 Document 對象的 createElement 和 createAttribute 方法。
  4. 將元素和屬性添加到文檔中,可以使用 Document 對象的 appendChild 和 setAttributeNode 方法。
  5. 將文檔保存為 XML 文件,可以使用 Transformer 類將 Document 對象轉換為 XML 格式。

以下是一個使用 DOM 生成 XML 報文的示例代碼:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class GenerateXML {public static void main(String[] args) {try {// 創建 DocumentBuilder 對象 
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();

            // 創建 Document 對象 
            Document document = builder.newDocument();

            // 創建根元素 
            Element rootElement = document.createElement("root");
            document.appendChild(rootElement);

            // 創建子元素 
            Element childElement = document.createElement("child");
            childElement.setTextContent("Hello, World!");
            rootElement.appendChild(childElement);

            // 將文檔保存為 XML 文件 
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult("output.xml");
            transformer.transform(source, result);

            System.out.println("XML 文件生成成功!");
        } catch (ParserConfigurationException | TransformerException e) {e.printStackTrace();
        }
    }
}

另一種生成 XML 報文的方法是使用 JAXB,它可以將 Java 對象直接映射為 XML 元素。您需要首先定義一個 Java 類來表示 XML 報文的結構,然后使用 JAXB API 將該類轉換為 XML。

以下是一個使用 JAXB 生成 XML 報文的示例代碼:

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.FileOutputStream;

public class GenerateXML {public static void main(String[] args) {try {// 創建 JAXBContext 對象 
            JAXBContext context = JAXBContext.newInstance(Root.class);

            // 創建 Marshaller 對象 
            Marshaller marshaller = context.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

            // 創建 Root 對象 
            Root root = new Root();
            root.setChild("Hello, World!");

            // 將 Root 對象轉換為 XML
            marshaller.marshal(root, new FileOutputStream("output.xml"));

            System.out.println("XML 文件生成成功!");
        } catch (JAXBException e) {e.printStackTrace();
        }
    }
}

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
class Root {private String child;

    @XmlElement
    public String getChild() {return child;
    }

    public void setChild(String child) {this.child = child;
    }
}

這些示例代碼中的 "output.xml" 是生成的 XML 文件的路徑和名稱,您可以根據需要修改。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-09發表,共計2648字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 涞源县| 遂川县| 六安市| 河池市| 南郑县| 和顺县| 黄浦区| 峨眉山市| 屏山县| 新密市| 龙口市| 新河县| 酒泉市| 濉溪县| 瓦房店市| 湟中县| 嘉祥县| 宁化县| 嘉峪关市| 西峡县| 荔波县| 长垣县| 乌鲁木齐县| 繁峙县| 淳安县| 兴化市| 新昌县| 汝城县| 仪陇县| 合山市| 东明县| 星子县| 和林格尔县| 鹤庆县| 鹤山市| 万年县| 克什克腾旗| 新绛县| 昌乐县| 平安县| 榆树市|